Для условного создания экземпляров на основе переменных среды вы можете использовать аннотацию @ConditionalOnProperty
поверх ваших определений bean-компонентов.
@Configuration
public class Config {
@Bean
@ConditionalOnProperty(name = "your.property", havingValue = "true")
public YourBean instantiateIfTrue() {
// instantiate and return YourBean in case the property is true
}
@Bean
@ConditionalOnProperty(name = "your.property", havingValue = "false")
public YourBean instantiateIfFalse() {
// instantiate and return YourBean in case the property is false
}
}
В вашем случае вы можете добавить @ConditionalOnProperty
поверх вашего @Configuration
(и больше не расширяется Condition
).
@Configuration
@ConditionalOnProperty(name = "your.property", havingValue = "true")
public class Config {
// ...
}
Полагайтесь на расширение Condition
только в том случае, если @ConditionalOnProperty
недостаточно гибок для вашего варианта использования.