@Resource@Qualifier的区别
时间: 2023-08-16 19:14:45 浏览: 310
@Resource和@Qualifier是Spring框架中用来注入依赖的注解,它们的作用和用法有所不同。
1. @Resource:
@Resource注解是JavaEE提供的注解,也可以在Spring框架中使用。它是根据名称进行自动装配的,首先会按照名称去查找对应的bean,如果找到则自动注入,找不到则会报错。它默认按照名称进行装配,也可以通过name属性指定bean的名称。
示例代码:
```java
@Resource
private UserService userService;
或者
@Resource(name = "userService")
private UserService userService;
```
2. @Qualifier:
@Qualifier注解是Spring框架提供的注解,用于指定bean的名称或限定符,配合@Autowired或@Inject一起使用。当存在多个实现类时,可以通过@Qualifier注解指定具体要注入的bean。
示例代码:
```java
@Autowired
@Qualifier("userService")
private UserService userService;
```
在上述示例中,@Autowired注解会按类型去查找对应的bean,而@Qualifier("userService")注解则指定了具体要注入的bean名称为"userService"。
综上所述,@Resource和@Qualifier都是用于依赖注入的注解,其中@Resource按照名称进行自动装配,而@Qualifier用于指定具体要注入的bean。
阅读全文