【发布时间】:2020-01-06 16:31:50
【问题描述】:
我想从我从 ENV 中选择的值初始化一个成员变量,但它在 init 块中不可用,因为它在对象初始化后被拾取
private lateinit var needValueHere: String
@Value("\${CLIENT_ID:NA}")
private val CLIENT_ID: String = ""
init {
this.needValueHere = this.CLIENT_ID
}
这是实际问题的简化版本。 我已验证该值在成员函数中可用。
【问题讨论】:
-
是否有理由需要它成为
lateinit var成员变量而不是构造函数参数?使用 Spring Boot 构造函数参数也可以注入,然后它们在init中可用。 -
是的,我在初始化之前从第三方服务加载上下文
-
PS 我已经想通了,并且已经制定了解决方案。感谢您的帮助:)
标签: spring spring-boot kotlin