Вот более полный пример.
Окружение Autowire
Сначала вы захотите автоматически подключить компонент среды.
@Autowired
private Environment environment;
Проверьте, существуют ли профили в активных профилях
Затем вы можете использовать getActiveProfiles()
, чтобы узнать, существует ли профиль в списке активных профилей.Вот пример, который берет String[]
из getActiveProfiles()
, получает поток из этого массива, а затем использует сопоставления для проверки нескольких профилей (без учета регистра), которые возвращают логическое значение, если они существуют.
//Check if Active profiles contains "local" or "test"
if(Arrays.stream(environment.getActiveProfiles()).anyMatch(
env -> (env.equalsIgnoreCase("test")
|| env.equalsIgnoreCase("local")) ))
{
doSomethingForLocalOrTest();
}
//Check if Active profiles contains "prod"
else if(Arrays.stream(environment.getActiveProfiles()).anyMatch(
env -> (env.equalsIgnoreCase("prod")) ))
{
doSomethingForProd();
}
Вы также можете достичь аналогичной функциональности, используя аннотацию @Profile("local")
. Подробнее об этой технике: Пружинные профили