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

时间:2019-10-17 11:00:57

标签: spring-boot kotlin

我一直在尝试找出如何像在Java中那样使用@ConfigurationProperties和Kotlin中的嵌套属性。

示例 给定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 property second has not been initialized

我无法在Kotlin中找到有关如何执行此操作的任何文档。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我认为使用Kotlin,您需要初始化second变量。

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

    class Second {
        lateinit var id: String
    }
}