我正在使用 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")}
}
}