在Groovy bean DSL中访问Spring Boot应用程序属性

时间:2014-10-25 20:06:37

标签: groovy spring-boot

简短版本:如何从我的应用程序上下文中访问Spring Boot应用程序属性?

这是我想要做的一个例子。如果有更好或更标准的方法来做这样的事情,请告诉我。

application.properties文件:

spring.application.name = myApp
spring.profiles.active = dev

context.groovy文件:

import ...
beans {
    name String, ref('spring.application.name')
    env String, ref('spring.application.env')

    otherBean(...) {
        name = name
    }
}

我尝试过多种不起作用的格式:

name = spring.application.name
name = ref('spring.application.name')

我必须遗漏一些关于如何从上下文配置中导入或访问应用程序属性的基本信息。

1 个答案:

答案 0 :(得分:3)

你将它与占位符语法一起使用(注意使用单引号,否则groovy会处理它),例如:

appName String, '${spring.application.name}'

或者您可以直接访问environment(无需ref& c)。 e.g。

appName String, environment.getProperty('spring.application.name', 'The Fallback')