如何使用 Kotlin* 在 Spring Boot中 正确初始化ConfigurationProperties ? *
目前, 我喜欢以下示例:
@ConfigurationProperties("app") class Config { var foo: String? = null }
但是它看起来很丑陋,实际上foo不是一个var可行的方法,foo是 常量 val ue, 应该在启动时进行初始化,并且将来不会更改 。
foo
var
val
使用新的 Spring Boot 2.2, 您可以这样:
@ConstructorBinding @ConfigurationProperties(prefix = "swagger") data class SwaggerProp( val title: String, val description: String, val version: String )
并且不要忘记在依赖项中包含此内容build.gradle.kts:
build.gradle.kts
dependencies { annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") }