1

我想根据 Spring Boot 应用程序的 application.yml 文件中的某些属性的值定义一些 bean。例如,number-of-beans: 5我构建了一个 for 循环来创建 5 个 bean 实例:

应用程序.yml

number-of-beans: 5

BeanDsl.kt

fun beans() = beans {
    val n = env.getProperty("number-of-beans")
    for (i in 1..n) {
        bean<String>("string${i}") { "string${i}" }
    } 
}

问题是此时如何访问环境,因为 env 变量在那里不可用。有趣的是它在bean{}元素内部。

4

1 回答 1

0

Spring Framework 5.0 是不可能的,但我刚刚通过这个提交添加了这样的支持,这个改进将从 Spring Framework 5.1 / Spring Boot 2.1 开始提供。

于 2018-04-12T18:22:16.683 回答