@Qualifier 作用
时间: 2023-05-29 10:01:24 浏览: 211
如何正确使用 @Qualifier 注解来解决多个同类型 Bean 注入的问题
@Qualifier 是一种用于在 Spring 框架中解决依赖注入(Dependency Injection)中出现的歧义性、多重实现的方式。当一个接口存在多个实现时,使用 @Qualifier 可以指定依赖注入的具体实现类,以确保程序能正确地注入对应的实现类。
@Qualifier 通常与 @Autowired 或 @Resource 等注解配合使用。@Autowired 和 @Resource 都可以自动实现类型匹配进行依赖注入,但是无法判断多个实现类的具体使用。此时,@Qualifier 可以通过指定特定的 bean 名称来明确实现类的选择。
举个例子,假设有一个接口 UserService 和它的两个实现类 UserServiceImpl1 和 UserServiceImpl2,我们需要在一个类中注入某个具体的实现类,可以使用 @Qualifier 注解来标识具体的实现类名称:
```
@Service
public class DemoService {
@Autowired
@Qualifier("userServiceImpl1")
private UserService userService;
}
```
这样,Spring 框架就知道需要注入 UserServiceImpl1 这个 Bean 实例。
阅读全文