@ConditionalOnMissingBean.
时间: 2023-10-17 19:26:15 浏览: 109
springboot @ConditionalOnMissingBean注解的作用详解
@ConditionalOnMissingBean是Spring框架中的一个注解,在配置类中使用。它表示如果容器中不存在指定类型的Bean,才会将当前Bean注册到容器中。
例如,假设有一个接口SomeInterface和两个实现类SomeImplA和SomeImplB。我们可以使用@ConditionalOnMissingBean注解来指定,在容器中如果没有SomeInterface类型的Bean存在时,才会创建并注册一个特定类型的Bean。
示例代码如下:
```java
@Configuration
public class SomeConfig {
@Bean
@ConditionalOnMissingBean(SomeInterface.class)
public SomeInterface someInterfaceBean() {
// 创建并返回SomeImplA对象
return new SomeImplA();
}
}
```
在上述示例中,如果容器中已经存在SomeInterface类型的Bean,那么不会创建并注册someInterfaceBean方法所返回的SomeImplA对象。只有在容器中不存在SomeInterface类型的Bean时,才会创建并注册该对象。
这样可以实现灵活的Bean注册机制,可以根据业务需求来选择性地注册相应的Bean。
阅读全文