我有一个 SpringBoot 2、Kotlin/Java Web 服务,它使用 @ConfigurationProperties 加载一组嵌套的类/属性以供在运行时使用。除了一件事之外,一切都正常工作:我无法弄清楚如何将值(代码)从父类(TenantProperties)传递给它的嵌套子类(DatabaseProperties)。在下面的片段中,它是从另一个具有适当注释的父级中提取的,我试图让 TenantProperties 中的代码在构造时传递给 DatabaseProperties。无论我尝试了什么,父母总是将 null 传递给孩子。我会很感激任何建议。
class TenantProperties(
var code: String? = null,
var id: String? = null,
var name: String? = null,
var db: DatabaseProperties = DatabaseProperties(code),
var blob: BlobProperties = BlobProperties(code)
) {
class DatabaseProperties(
var code: String?,
var uriTemplate: String? = null,
var username: String? = null,
var password: String? = null
) {
fun connectionString() = "$uriTemplate".format(username, password, code)
}
}