Spring Boot如何在加载bean时优先选择我?
时间: 2023-06-17 17:06:13 浏览: 82
在Spring Boot中,可以使用@Primary注解来标识一个bean具有高优先级。当同一个类型的多个bean被注入时,具有@Primary注解的bean将被首选。如果有多个bean都有@Primary注解,则可以使用@Qualifier注解来指定具体使用哪个bean。例如:
```java
@Configuration
public class MyConfig {
@Bean
@Primary
public MyBean myBean() {
return new MyBean();
}
@Bean
public MyBean anotherBean() {
return new MyBean();
}
}
```
在上面的例子中,MyBean具有@Primary注解,因此当注入MyBean时,Spring会首选myBean()方法返回的实例。
如果你想在使用@Primary注解的同时,保留其他同类型bean的注入,可以使用@Qualifier注解来指定具体使用哪个bean。例如:
```java
@Service
public class MyService {
private final MyBean myBean;
@Autowired
public MyService(@Qualifier("anotherBean") MyBean myBean) {
this.myBean = myBean;
}
}
```
在上面的例子中,虽然MyBean具有@Primary注解,但是在MyService中使用了@Qualifier注解指定了使用名称为"anotherBean"的bean。因此,MyService将注入anotherBean()方法返回的实例。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)