Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy 将application.yml中的映射列表注入服务_Groovy_Spring Boot_Yaml - Fatal编程技术网

Groovy 将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 -

我正试图将application.yml配置文件中的映射列表注入Spring引导服务。下面是application.yml中的配置:

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
采用一种稍有不同的方法。也许会有所帮助,这很有效。谢谢我会补充一个详细的答案,谢谢,很高兴我能帮上忙:)