springboot bean同名处理
时间: 2023-07-27 11:23:34 浏览: 185
在Spring Boot中,如果出现了同名的Bean,可以使用@Qualifier注解来指定使用哪个Bean。例如,在一个名为com.example.demo的包中,有两个名为MyBean的类,可以这样配置:
```
package com.example.demo.config;
import com.example.demo.MyBean;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyConfig {
@Bean
public MyBean myBean1() {
return new MyBean();
}
@Bean
@Qualifier("myBean2")
public MyBean myBean2() {
return new MyBean();
}
}
```
这里定义了两个名为MyBean的Bean,并使用@Qualifier注解来指定其中一个的名称为myBean2。在应用程序中,如果需要使用myBean2,可以在注入Bean时使用@Qualifier注解来指定:
```
@Autowired
@Qualifier("myBean2")
private MyBean myBean;
```
这样就能够使用指定的Bean了。如果没有使用@Qualifier注解来指定Bean的名称,Spring Boot会默认使用Bean的方法名作为Bean的名称。
阅读全文