@ConditionalOnProperty @ConditionalOnBean java实例
时间: 2023-07-08 15:23:00 浏览: 135
java @interface 注解详解及实例
下面是使用@ConditionalOnProperty和@ConditionalOnBean条件注解的Java示例:
```java
@Configuration
public class MyConfig {
@Bean
@ConditionalOnProperty(name = "my.feature.enabled", havingValue = "true")
public MyBean myBean() {
return new MyBean();
}
@Bean
@ConditionalOnBean(MyBean.class)
public MyService myService(MyBean myBean) {
return new MyService(myBean);
}
}
```
这个配置类中定义了两个bean:MyBean和MyService。使用@ConditionalOnProperty注解标注的myBean方法只有在配置文件中设置了my.feature.enabled=true时才会注册到Spring容器中。使用@ConditionalOnBean注解标注的myService方法只有在容器中存在MyBean bean时才会注册到Spring容器中。
注意:在使用@ConditionalOnBean注解时,方法的参数列表中可以传入其他已经注册到容器中的bean,这样可以更加灵活的判定该bean是否需要注册。
阅读全文