Sobes.tech
Senior
88

Šta su Spring profili i kako konfigurisati aplikaciju za različite okruženja? Kako uticati na proces kreiranja beana?

Компаније где су питане
СБЕРСБЕР

Одговор од АИ

sobes.tech АИ

Spring Profiles позволяют разделять конфигурацию приложения для разных сред (например, dev, test, prod). Это удобно для управления настройками и создания бинов, специфичных для окружения.

Чтобы использовать профили:

  • В application.properties или application.yml можно задать настройки для конкретного профиля, например application-dev.properties.
  • Активировать профиль можно через параметр запуска: -Dspring.profiles.active=dev или в переменных окружения.

Для влияния на создание бинов используют аннотации:

@Configuration
@Profile("dev")
public class DevConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean("dev config");
    }
}

@Configuration
@Profile("prod")
public class ProdConfig {
    @Bean
    public MyBean myBean() {
        return new MyBean("prod config");
    }
}

Таким образом, в зависимости от активного профиля, Spring создаст соответствующие бины. Это позволяет гибко менять поведение приложения без изменения кода.