科特林Spring Boot @ConfigurationProperties [英] Kotlin & Spring Boot @ConfigurationProperties

查看:77
本文介绍了科特林Spring Boot @ConfigurationProperties的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How to properly initialize ConfigurationProperties in Spring Boot with Kotlin?

当前我喜欢以下示例:

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

但是它看起来很丑陋,实际上foo不是var iable,foo是恒定 val ue和应该在启动期间初始化,并且在启动时不会更改未来.

But it looks pretty ugly and actually foo is not a variable, foo is constant value and should be initialized during startup and will not change in the future.

推荐答案

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

With new Spring Boot 2.2 you can do like so:

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

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

And don't forget to include this in your dependencies in build.gradle.kts:

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

这篇关于科特林Spring Boot @ConfigurationProperties的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆