Spring IoC контейнер: абстракция Environment, профили определения компонентов, использование @Profile
Аннотация @Profile позволяет указать, что компонент имеет право на регистрацию, если активен один или несколько указанных профилей. Используя наш предыдущий пример , мы можем переписать конфигурацию источника данных следующим образом: Java @Configuration @Profile("development") public class StandaloneDataConfig { @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder() .setType(EmbeddedDatabaseType.HSQL) .addScript("classpath:com/bank/config/sql/schema.sql") .addScript("classpath:com/bank/config/sql/test-data.sql") .build(); } } Kotlin @Configuration @Profile("development") class StandaloneDataConfig { @Bean fun dataSource(): DataSource { return EmbeddedDatabaseBuilder() .setType(EmbeddedDatabaseType.HSQL) .addScript("classpath:com/bank/config/sql/schema.sql") .addScript(...