У меня есть конфигурации аннотаций с аннотациями @Bean, и мне нужно зарегистрировать один из двух bean-компонентов, если присутствует определенное свойство. Кроме того, мне нужно внедрить созданный компонент в другие компоненты под указанным именем компонента. Я попытался сделать это следующим образом:
Код: Выделить всё
@Bean("bean-1")
//Specific conditional on property
fun s1() = "1"
@Bean("bean-1")
//Specific conditional on property
fun s2() = "2"
@Bean
fun result(
@Qualifier("bean-1") b: String
): Any? {
return null
}
Код: Выделить всё
@Bean("bean-1")
@ConditionalOnMissingBean(name = ["bean-1"])
fun s1() = "1"
@Bean("bean-1")
@ConditionalOnProperty(name = ["some_property"], matchIfMissing = true)
fun s2() = "2"
@Bean
fun result(
@Qualifier("bean-1") b: String
): Any? {
return null
}
Помогите, пожалуйста, это ожидаемое поведение Spring Boot?
Я использую Spring Boot 3.3.5.
Подробнее здесь: https://stackoverflow.com/questions/792 ... re-defined
Мобильная версия