簡體   English   中英

無法從 spring 中的 application.yml 綁定 object 屬性列表

[英]unable to bind list of object properties from application.yml in spring

我想將 object 屬性列表綁定到 spring bean 中的字段,但 spring 不綁定它。 我錯過了什么? 我的環境是 SpringBoot v2.7.1 + Java 8。

應用程序.yml

 application: mappings: - oldname: 'old name 1' newname: 'new name 1' - oldname: 'old name 2' newname: 'new name 2'

映射屬性.java

 @ConfigurationProperties(prefix = "application") public class MappingProperties { private List<Mapping> mappings; public List<Mapping> getServers() { return mappings; } public void setServers(List<Mapping> mappings) { this.mappings = mappings; } public class Mapping { private String oldname; private String newname; public String getOldname() { return oldname; } public void setOldname(String oldname) { this.oldname = oldname; } public String getNewname() { return newname; } public void setNewname(String newname) { this.newname = newname; } } }

DemoApplication.java

 @EnableConfigurationProperties(MappingProperties.class) @SpringBootApplication public class DemoApplication implements CommandLineRunner { @Autowired private MappingProperties mappingProperties; public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Override public void run(String... args) throws Exception { System.out.println(mappingProperties); } }

看起來您缺少@ConfigurationPropertiesScan https://www.baeldung.com/configuration-properties-in-spring-boot

UPD:在這里找到了一個實現示例: https://www.baeldung.com/spring-boot-yaml-list

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM