Я определил условный компонент:
@Conditional(CustomClass.class)
public class CustomClass implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return false;
}
@Bean(name = "bean1")
public DataSource dummy() {
HikariDataSource dataSource = new HikariDataSource(config);
return dataSource;
}
}
В другом классе я внедряю компонент bean1 следующим образом:
public anotherClass(@Qualifier("bean1") DataSource dataSource) {
}
Но когда метод сопоставления условного класса возвращается, ложь, я получаю:
"Нет подходящего бина типа 'javax.sql.DataSource' доступно"
Если match возвращает true, ошибки нет.
Разве условные бины не предназначены для условной загрузки бинов?