Получить весеннюю прикладную среду в тимелеафе

20

Приложение My Spring Boot запускается с тремя конфигурациями:

  • application.properties - & gt; для среды разработки.
  • application-test.properties - & gt; для тестовой среды
  • application-production.properties - & gt; для производственной среды

Как можно получить в среде тимелеафера приложение работает?

Мне нужно включить код Google Analytics только в производственную среду.

    
задан occurred 17.05.2014 в 14:47
источник

1 ответ

33

Вы можете сделать следующее, если у вас только один профиль активен за раз.

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

Приведенный выше код основан на том факте, что диалект Тимелеафа «Весна» позволяет вам обращаться к компонентам, используя символ @ . И, конечно, объект Environment всегда доступен как компонент Spring.

Также обратите внимание, что Environment имеет метод getActiveProfiles() , который возвращает массив строк (именно поэтому в моем ответе используется [0] ), который мы можем вызывать с использованием стандартного Spring EL.

Если одновременно задействовано несколько профилей, более надежным решением будет использование объекта утилиты #arrays Thymeleaf, чтобы проверить наличие в активных профилях строки production . Код в этом случае будет:

<div th:if="${#arrays.contains(@environment.getActiveProfiles(),'production')}">
     This is the production profile
</div>
    
ответ дан geoand 17.05.2014 в 15:47
  • Большое спасибо, это именно то, что я искал. –  occurred 18.05.2014 в 18:22
  • @occurred Рад помочь! Это поможет будущим читателям, если вы примете ответ, потому что таким образом, который мог бы легко определить, правильно ли это, без необходимости читать комментарии –  geoand 18.05.2014 в 19:59
  • Между тем в среде также есть acceptsProfiles (String ... profiles), что делает проверку немного более гладкой: @ environment.acceptsProfiles ('production') –  cfrick 28.10.2014 в 15:14
  • @cfrick Хорошее предложение! –  geoand 28.10.2014 в 18:58