在 kotlin 中声明全局变量默认为 属性 值
declare global variable in kotlin defaulted to a property value
我正在尝试直接从 application.yml:
加载 kotlin 中的全局变量
telegram:
token: foo
为了实现这一点,在我的 class 中,我试过这个:
@Value("${telegram.token}")
val botToken: String
但它抛出一个错误,提示我需要初始化 属性。 (例如,这不会引发错误,但这不是我预期的行为):
@Value("${telegram.token}")
val botToken: String = ""
我想要的是将配置值 (foo) 注入到这个常量 (botToken) 中。
首先,您似乎可以使用 @Property(name = "telegram.token")
然后我会尝试
@Property(name = "telegram.token")
lateinit var token: String
private set
将它作为参数添加到包含 属性:
的 bean 的构造函数中
class WhateverSpringManagedBeanClass(
@Value("${telegram.token}") private val botToken: String
)
或尝试以下操作(这使 botToken
可变):
@Value("${telegram.token}")
lateinit var botToken: String
我正在尝试直接从 application.yml:
加载 kotlin 中的全局变量telegram:
token: foo
为了实现这一点,在我的 class 中,我试过这个:
@Value("${telegram.token}")
val botToken: String
但它抛出一个错误,提示我需要初始化 属性。 (例如,这不会引发错误,但这不是我预期的行为):
@Value("${telegram.token}")
val botToken: String = ""
我想要的是将配置值 (foo) 注入到这个常量 (botToken) 中。
首先,您似乎可以使用 @Property(name = "telegram.token")
然后我会尝试
@Property(name = "telegram.token")
lateinit var token: String
private set
将它作为参数添加到包含 属性:
的 bean 的构造函数中class WhateverSpringManagedBeanClass(
@Value("${telegram.token}") private val botToken: String
)
或尝试以下操作(这使 botToken
可变):
@Value("${telegram.token}")
lateinit var botToken: String