@ConditionalOnMissingBean
时间: 2023-10-17 10:03:24 浏览: 61
springboot @ConditionalOnMissingBean注解的作用详解
@ConditionalOnMissingBean 是 Spring Boot 中的一个注解,它可以用来控制 Bean 的创建。当一个 Bean 已经存在时,@ConditionalOnMissingBean 注解可以防止该 Bean 被创建。它常用于在系统中只需要使用默认 Bean 的情况下,避免创建重复的 Bean。
举个例子,假设我们在 Spring Boot 项目中需要使用一个名为 "userService" 的 Bean,并且我们已经定义了一个 "userService" 的实现类。如果我们想要在系统中只使用默认的 Bean,而不是使用我们自己定义的 Bean,就可以使用 @ConditionalOnMissingBean 注解来控制 Bean 的创建。具体实现方式如下:
```java
@Service
@ConditionalOnMissingBean(UserService.class)
public class DefaultUserService implements UserService {
// ...
}
```
这样,当系统中已经存在名为 "userService" 的 Bean 时,就会使用已经存在的 Bean,而不会创建新的 DefaultUserService 实例。
阅读全文