在百里香中获得春季应用环境

我的Spring Boot应用程序运行3种配置:

> application.properties – >用于开发环境
> application-test.properties – >用于测试环境
> application-production.properties – >用于生产环境

如何在应用程序运行的过程中进入thymeleaf环境?

我只需要在生产环境中加入Google Analytics(分析)代码.

最佳答案
如果一次只有一个配置文件处于活动状态,则可以执行以下操作.

<div th:if="${@environment.getActiveProfiles()[0] == 'production'}">
  This is the production profile - do whatever you want in here
</div>

上面的代码基于这样的事实,即Thymeleaf的Spring方言可以让您使用@符号访问beans.当然,Environment对象总是作为一个Spring bean使用.

还要注意的是,Environment有一个方法getActiveProfiles(),它返回一个Strings数组(这就是为什么我的答案中使用了[0]),我们可以使用标准的弹簧EL来调用它.

如果一次有多个配置文件处于活动状态,则更健壮的解决方案是使用Thymeleaf的#arrays实用程序对象,以检查活动配置文件中是否存在字符串生产.这种情况下的代码将是:

<div th:if="${#arrays.contains(@environment.getActiveProfiles(),'production')}">
     This is the production profile
</div>

转载注明原文:在百里香中获得春季应用环境 - 代码日志