代码之家  ›  专栏  ›  技术社区  ›  codependent

如何使用Spring 5和Kotlin访问Bean定义DSL的beans元素中的环境属性

  •  1
  • codependent  · 技术社区  · 7 年前

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

    应用yml公司

    number-of-beans: 5
    

    BeanDsl。千吨级

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

    问题是如何在该点访问环境,因为env变量在那里不可用。有趣的是它在 bean{} 要素

    1 回复  |  直到 7 年前
        1
  •  0
  •   Sébastien Deleuze    7 年前

    使用Spring Framework 5.0是不可能的,但我刚刚通过 this commit ,此改进将从Spring Framework 5.1/Spring Boot 2.1开始提供。