在运行时对弹簧配置文件进

时间:2014-09-17 18:47:47

标签: java spring spring-boot spring-profiles

我目前正在维护一个遗留代码库,其中在应用程序上下文中指定了以下Spring配置文件配置:

spring.profiles.active=addressbook-[usermanager|webservices],entrypoint-[form|saml]

问题是:如何阅读此示例中为spring.profiles.active

指定的内容

我认为这里有4种可能的配置文件定义吗?即:

addressbook-usermanager, entrypoint-form
addressbook-webservices, entrypoint-form
addressbook-usermanager, entrypoint-saml
addressbook-webservices, entrypoint-saml

有没有办法打开日志记录以查看选择了哪个配置文件以及为特定配置文件加载了哪些bean?如果没有,为什么他们没有被装上?

我正在浏览this blog post以及我可以找到的任何其他类型的文档,但我还没有找到任何特定于上面的配置文件规范语法的内容。有没有可用的文件?

谢谢!

1 个答案:

答案 0 :(得分:2)

我不知道Spring对你上面描述的语法有任何支持。我相信您所描述的配置将为您提供两个有效的配置文件:

  • addressbook-[usermanager|webservices]
  • entrypoint-[form|saml]

您可以使用Environment.getActiveProfiles()查询当前有效的个人资料。要掌握Environment实例,您可以使用Spring的自动连接或实现EnvironmentAware

您可能还想查看ProfileCondition。没有记录,但您可以使用调试器根据@Profile注释查看包含或排除的bean。