[英]How to use @value annotation in kotlin data class
我有一個 application.properties 文件,例如:
person-one-name=John
這是我的數據 class,我在數據類之外使用了@Value 注解。
@Value("\${person-one-name}")
lateinit var personOne: String
data class Person(val name: String, val age: Int) {
constructor(age: Int) : this(personOne, age)
}
我想在我的數據 class 中使用 var personOne。
它給出了一個錯誤 lateinit property personOne has not been initialized
根據我在問題下的評論:
data class Person(val name: String, val age: Int)
@Service
class PersonFactory(
@Value("\${person-one-name}")
private val personOne: String,
) {
fun createPerson(name: String? = null, age: Int) =
if (name != null) Person(name, age)
else Person(personOne, age)
}
另一個問題是, PersonFactory
服務需要位於同一級別的 package 中,或者位於啟動 App 的 class 中。
更多信息: https://springhow.com/a-guide-to-value-in-spring-boot/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.