在Spring Boot中更改属性占位符的前缀和后缀的最简单方法是什么?
默认值为@Value("${some.property}")
,但这在Kotlin中看起来很难看,因为它需要被转义 - $ {something}是Kotlin中用于字符串模板的语言功能。
答案 0 :(得分:2)
他们使用带有@ConfigurationProperties
注释的java类的新功能。这在Kotlin看起来不错,并且正在重构保存。你应该试一试:
答案 1 :(得分:2)
根据dox提供的答案提供的建议,我最终得到了类似的内容:
public interface TokenAuthenticationConfig {
public fun apiKey() : String
}
@Component
@ConfigurationProperties(prefix = "service.api")
public open class TokenAuthenticationConfigImpl : TokenAuthenticationConfig
{
public var apiKey : String
constructor() {
this.apiKey = ""
}
override fun apiKey(): String
{
return this.apiKey
}
}
在Spring @ConfigurationProperties
中,对象必须遵循Java Beans模式,因此是可变的。对我来说,配置好像在应用程序生命周期中通常应该是静态的,因此不是添加关于状态的推理的复杂性,而是注入了不可变的接口。