如何将@Value属性注入到 Spring 5 和 Kotlin Bean 定义 DSL 定义的 bean 中



我正在使用 Kotlin 开发一个 Spring Boot (2.0.0 M7( 应用程序,并且需要利用新的 DSL 定义一些 bean 来定义。我想不出一种方法来注入来自@Value属性的值。让我们考虑这个简化的示例:

fun beans() = beans {
    for (i in 1..10) {
        bean<String>("myString${i}" + someProperty) { "myString${i}" + someProperty}
    }
}

someProperty应该来自这样的东西:

@Value("${myProperty}") someProperty: String

如何使其可供beans {} DSL 访问?

解决了通过 env 变量访问值的问题:

fun beans() = beans {
    for (i in 1..10) {
        bean<String>("myString${i}" + env.getProperty("myProperty") { "myString${i}" + env.getProperty("myProperty")}
    }
}

最新更新