@ConditionalOnMissingBean

@ConditionalOnMissingBean`是 Spring Boot 的一个条件注解,用于在容器中不存在指定类型的 Bean 时,才会创建被注解的 Bean。

例如,假设我们有一个名为 `MyService` 的服务类,我们希望在容器中不存在名为 `myService` 的 Bean 时,才创建一个新的 `MyService` 实例。我们可以使用 `@ConditionalOnMissingBean` 注解来实现这个需求:
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

在这个例子中,当容器中不存在名为 `myService` 的 Bean 时,myService()方法会被执行,创建一个新的 MyServiceImpl实例并注册到容器中。如果容器中已经存在名为 myService 的 Bean,那么 myService() 方法不会被执行。

  

posted @ 2023-10-25 16:52  阿飞藏泪  阅读(1280)  评论(0编辑  收藏  举报
1 2 3
4