Думал, что это сработает:
@Component
class GlobalValue {
companion object {
@JvmStatic
lateinit var database: String
@Value("\${myprop.testing2}") set
}
}
Но по какой-то причине это не так, возможно, потому что сгенерированный сеттер final
или потому, что он проходит через Companion
объект, я полагаюне знаю.
Это работает tho:
@Component
class GlobalValue {
companion object {
@JvmField
var database: String = "test"
}
@Value("\${myprop.testing2}")
fun setDatabase(db: String) {
database = db
}
}
Обратите внимание на \
в @Value
- это потому, что в противном случае у нас возник бы конфликт с самим языком, такая конструкция уже есть. Кроме того, вам нужно указать значение по умолчанию, lateinit
невозможно с @JvmField
.