簡體   English   中英

kotlin數據class中如何使用@value注解

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM