Spring boot 在Kotlin中将@ConfigurationProperties与嵌套属性一起使用

Spring boot 在Kotlin中将@ConfigurationProperties与嵌套属性一起使用,spring-boot,kotlin,Spring Boot,Kotlin,我一直在试图弄清楚如何在Kotlin中使用@ConfigurationProperties和嵌套属性,就像在Java中一样 范例 给定application.properties中定义的以下属性: first.id.=application1 first.second.id=application2 我试过: @Configuration @ConfigurationProperties(prefix = "first") class First { lateinit var id:

我一直在试图弄清楚如何在Kotlin中使用@ConfigurationProperties和嵌套属性,就像在Java中一样

范例 给定application.properties中定义的以下属性:

first.id.=application1
first.second.id=application2
我试过:

@Configuration
@ConfigurationProperties(prefix = "first")
class First {
    lateinit var id: String
    lateinit var second: Second

    class Second {
        lateinit var id: String
    }
}
但是,它不会初始化嵌套属性:

错误:lateinit属性second尚未初始化


我还没有在Kotlin找到任何关于如何做到这一点的文档。有什么建议吗?

我认为对于Kotlin,您需要初始化第二个变量

@Configuration
@ConfigurationProperties(prefix = "first")
class First {
    lateinit var id: String
    var second = Second()

    class Second {
        lateinit var id: String
    }
}

我认为对于Kotlin,您需要初始化第二个变量

@Configuration
@ConfigurationProperties(prefix = "first")
class First {
    lateinit var id: String
    var second = Second()

    class Second {
        lateinit var id: String
    }
}

你能试试@PropertySource吗你能试试@PropertySource吗