Условие If на основе Activeprofile

#java #spring-boot

#java #весенняя загрузка

Вопрос:

Я пытаюсь выполнить запрос в H2 встроенной памяти в целях тестирования. Из-за H2 ограничения определенный синтаксис не работает. Я хочу изменить синтаксис на основе @Activeprofile in Spring Boot . Мой код выглядел бы примерно так:

 if (@Activeprofile("Test")) {
    query = "something for test"
} else {
    query = "something for prod/stage" 
}
  

Возможно ли это? Любая помощь приветствуется.

Ответ №1:

Вы должны внедрить Environment компонент в свой код.

Вот так:

 @Autowired
private Environment environment;
  

Затем вы можете использовать .getActiveProfiles() метод.

 if (Arrays.asList(environment.getActiveProfiles()).contains("...") {
    ...
}
  

Подробнее об этом можно найти здесь.

Комментарии:

1. это именно то, чего я хотел. Большое вам спасибо.