Java spring boot@ConfigurationProperties:不带包装对象的集合

Java spring boot@ConfigurationProperties:不带包装对象的集合,java,spring,spring-boot,Java,Spring,Spring Boot,在我的yml中,我有一个地图列表(或对象列表) 当我有一个保存嵌套列表的对象(kotlin代码)时,spring可以将其加载到静态结构中: @ConfigurationProperties @组成部分 类MyRoot{var topLevel=mutableListOf()} 类MyElement{var mapKey1=“”;var mapKey2=“”} 但是我对包装对象MyRoot并不感兴趣。我只关心MyElement对象的列表。我可以在不定义MyRoot类的情况下自动连接列表本身吗?使

在我的yml中,我有一个地图列表(或对象列表)

当我有一个保存嵌套列表的对象(kotlin代码)时,spring可以将其加载到静态结构中:

@ConfigurationProperties
@组成部分
类MyRoot{var topLevel=mutableListOf()}
类MyElement{var mapKey1=“”;var mapKey2=“”}
但是我对包装对象
MyRoot
并不感兴趣。我只关心
MyElement
对象的列表。我可以在不定义
MyRoot
类的情况下自动连接列表本身吗?

使用Spring Boot 2.1.3(不确定它开始工作的确切版本),我可以通过以下操作来完成这一点

@ConfigurationProperties("topLevel")
@Component
public class MyRoot extends ArrayList<MyElement> {}
@ConfigurationProperties(“顶级”)
@组成部分
公共类MyRoot扩展了ArrayList{}

这似乎对Spring Boot 1.5.9不起作用,只是一个想法,从未尝试过。尝试在
@Configuration
类中使用
@Bean
来定义
列表
类型的Bean,而不是
@Component
。就像这里的数据源一样-
@ConfigurationProperties
@Component
class MyRoot {var topLevel = mutableListOf<MyElement>()}
class MyElement {var mapKey1 = ""; var mapKey2 = ""}
@ConfigurationProperties("topLevel")
@Component
public class MyRoot extends ArrayList<MyElement> {}