@Documented @Retention(value=RUNTIME) @Target(value={TYPE,METHOD}) public @interface ConditionalOnMissingBean
当只有一个实现,不用选 有两个以上的实现选择不带此注解的实现 这也是为了扩展默认实现的一种优雅的实现,与@Bean一起使用 注:区别于@Primary注解的地方是此注解会丢掉默认实现,而@Primary两个实现都有只是选择了优选的那个