0
我想從我的application.yml配置文件注入一個映射列表到我的Spring Boot服務。這裏是application.yml配置:從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
但是,必須有一些錯誤,因爲當我嘗試運行我的申請,我得到的以下例外:
java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [java.util.Map]: no matching editors or conversion strategy found
任何想法我做錯了什麼?我試圖將一個Grails 3項目遷移到一個vanilla Spring Boot項目中,這個配置在Grails 3中工作,但Grails有它自己的YAML處理器。
到目前爲止,我還沒有使用'yaml'文件,但是您通常使用'@'''像'@Value(「$ {devoxx.cfpApis}」)''引用一個屬性佔位符。儘管如此,[spring documentation](https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-loading- yaml)似乎表明使用'@ ConfigurationProperties'有一些不同的方法。也許[這個其他問題](http://stackoverflow.com/questions/24917194/spring-boot-inject-map-from-application-yml)可以有一定的幫助 – Morfic
這很好。謝謝。我會添加一個答案詳述這個 – Sebastien
乾杯,很高興我可以幫助:) – Morfic