Groovy 将application.yml中的映射列表注入服务
我正试图将application.yml配置文件中的映射列表注入Spring引导服务。下面是application.yml中的配置:Groovy 将application.yml中的映射列表注入服务,groovy,spring-boot,yaml,Groovy,Spring Boot,Yaml,我正试图将application.yml配置文件中的映射列表注入Spring引导服务。下面是application.yml中的配置: devoxx: cfpApis: - url: http://cfp.devoxx.be/api/conferences youtubeChannelId: UCCBVCTuk6uJrN3iFV_3vurg - url: http://cfp.devoxx.fr/api/conferences -
devoxx:
cfpApis:
-
url: http://cfp.devoxx.be/api/conferences
youtubeChannelId: UCCBVCTuk6uJrN3iFV_3vurg
-
url: http://cfp.devoxx.fr/api/conferences
-
url: http://cfp.devoxx.ma/api/conferences
youtubeChannelId: UC6vfGtsJr5RoBQBcHg24XQw
-
url: http://cfp.devoxx.co.uk/api/conferences
-
url: http://cfp.devoxx.pl/api/conferences
这是我服务的财产:
@Value("devoxx.cfpApis")
List<Map<String,String>> cfpApis
知道我做错了什么吗
仅供参考,我正在尝试将Grails 3项目迁移到vanilla Spring Boot项目中,这种配置在Grails 3中可以工作,但Grails有自己的YAML处理器。感谢@Morfic的评论,下面是我如何解决这个问题的 我用
@ConfigurationProperties(prefix=“devox”)
注释标记了我的服务类。在我的服务中,我现在拥有一个名为cfpApis的财产,声明如下:
List<Map<String,String>> cfpApis
列出CFPAPI
这很有效。多亏@Morfic的评论,我终于解决了这个问题 我用
@ConfigurationProperties(prefix=“devox”)
注释标记了我的服务类。在我的服务中,我现在拥有一个名为cfpApis的财产,声明如下:
List<Map<String,String>> cfpApis
列出CFPAPI
这非常有效。到目前为止,我还没有使用过
yaml
文件,但是您通常使用$
引用属性占位符,比如@Value(${devox.cfpApis}”)
。尽管如此,报告似乎建议使用@ConfigurationProperties
采用一种稍有不同的方法。也许会有所帮助,这很有效。谢谢我将添加一个详细的答案,很高兴我能提供帮助:)到目前为止我还没有使用yaml
文件,但是您通常使用$
像@Value(${devox.cfpApis}”)
这样的引用属性占位符。尽管如此,报告似乎建议使用@ConfigurationProperties
采用一种稍有不同的方法。也许会有所帮助,这很有效。谢谢我会补充一个详细的答案,谢谢,很高兴我能帮上忙:)