// 当容器中有tom组件的时候才会加载user01组件
@ConditionalOnBean(name = "tom")
// 当容器中没有tom组件的时候才会加载user01组件
@ConditionalOnMissingBean(name = "tom")
组件是按顺序加载的
@ConditionalOnBean(name = "tom")
@Bean
public User user01(){
User zhangsan = new User("zhangsan", 18);
// User组件依赖了Pet组件
zhangsan.setPet(tomcatPet());
return zhangsan;
}
// 自定义组件的id为tom
// @Bean(value = "tom")
@Bean(value = "tom22")
public Pet tomcatPet(){
return new Pet("tomcat");
}
// 查看容器中是否有该组件
boolean tom = run.containsBean("tom");
System.out.println("容器中tom组件:" + tom);
boolean user01 = run.containsBean("user01");
System.out.println("容器中user01组件:" + user01);
boolean tom22 = run.containsBean("tom22");
System.out.println("容器中tom22组件:" + tom22);
运行结果:
容器中tom组件:false
容器中user01组件:false
容器中tom22组件:true
@ConditionalOnBean和@ConditionalOnMissingBean注解
最新推荐文章于 2024-05-16 12:57:44 发布