一尘不染

Kotlin和Spring Boot @ConfigurationProperties

spring-boot

如何使用 Kotlin*Spring Boot中 正确初始化ConfigurationProperties ? *

目前, 我喜欢以下示例:

 @ConfigurationProperties("app")
 class Config {
     var foo: String? = null
 }

但是它看起来很丑陋,实际上foo不是一个var可行的方法,foo是 常量 val ue, 应该在启动时进行初始化,并且将来不会更改


阅读 532

收藏
2020-05-30

共1个答案

一尘不染

使用新的 Spring Boot 2.2, 您可以这样:

@ConstructorBinding
@ConfigurationProperties(prefix = "swagger")
data class SwaggerProp(
    val title: String, val description: String, val version: String
)

并且不要忘记在依赖项中包含此内容build.gradle.kts

dependencies {
  annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
}
2020-05-30