@ConditionalOnMissingBean加载服务类
时间: 2023-10-17 19:34:02 浏览: 103
SpringBoot配置类编写过程图解
@ConditionalOnMissingBean 是 Spring 框架的一个注解,它用于在某个 Bean 不存在时才加载另一个 Bean。
当一个 Bean 的类型与指定的类型一致,并且在容器中不存在时,@ConditionalOnMissingBean 注解才会生效。它可以用于控制 Bean 的加载顺序或者在某些条件下动态地选择加载不同的 Bean。
使用 @ConditionalOnMissingBean 注解,可以在 Spring Boot 应用中实现根据条件选择性地加载 Bean。例如,可以根据某个配置属性的值来决定是否加载某个服务类(Bean),如果容器中已存在该类型的 Bean,则不会再次加载。
下面是一个使用 @ConditionalOnMissingBean 注解的示例:
```java
@Configuration
public class MyConfiguration {
@Bean
@ConditionalOnMissingBean(MyService.class)
public MyService myService() {
// 实例化并返回一个 MyService 对象
}
}
```
在上面的示例中,如果容器中已经存在类型为 MyService 的 Bean,那么 myService() 方法将不会被调用创建新的 Bean 实例。只有当容器中不存在该类型的 Bean 时,myService() 方法才会被调用创建一个新的 MyService Bean。
阅读全文