【发布时间】:2020-07-24 04:49:39
【问题描述】:
库 A 中的 kotlin 数据类,用于配置不可变属性(所有属性设置为 val 而不是 var):
data class Cfg(
val name: String,
...
)
从spring boot 2.2.0开始,可以使用下面的代码来配置一个单一但固定的前缀:
@ConstructorBinding
@ConfigurationProperties(prefix = "app.cfg")
data class Cfg(...)
我的应用依赖于库A,但是需要配置多个不同前缀的Cfg实例,例如app.cfg1和app.cfg2。这些前缀是由应用程序选择的。怎么样?
【问题讨论】:
-
让我看看我是否理解正确,您希望您的应用程序在外部库中定义的类中控制
@ConfigurationProperties的前缀? -
@MarcosBarbero 将多个
Cfg实例注册为具有不同前缀的spring bean 的任何方式都是可以接受的。 -
您可以使用不同的命名同时声明多个 bean,我会写一个答案,以便您可以获得一些代码格式和东西
标签: spring spring-boot kotlin