例如
配置类中有两个Computer类的bean,一个是笔记本电脑,一个是备用电脑。如果当前容器中已经有电脑bean了,就不注入备用电脑,如果没有,则注入备用电脑,这里需要使用到@ConditionalOnMissingBean。
@ConditionalOnMissingBean(Computer.class)
@Bean("reservePC")
public Computer computer2(){
return new Computer("备用电脑"); }
区别
@ConditionOnBean在判断beanlist的时候,如果list没有值,返回false,否则返回true
@ConditionOnMissingBean在判断beanlist的时候,如果list没有值,返回true,否则返回false,其他逻辑都一样
网友评论