- org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean:只有当满足要求的bean在BeanFactory中不存在的时候,@Conditional才匹配。
- 当注解 @Bean方法的时候,bean类默认为工厂方法返回的类型。
例如:
@Configuration
public class MyAutoConfiguration {
@ConditionalOnMissingBean
@Bean
public MyService myService() {
...
}
}
在上面例子中,当 BeanFactory中不存在类型为MyService 的bean时,条件才匹配。
- 条件只能匹配目前为止已经被应用上下文处理的bean定义。正因为此,强烈建议只将这个注解用在自动配置类上。如果一个候选bean可以被其它的自动配置创建,那么要确保使用这个条件的bean在后面运行。