@Resource 装配规则
时间: 2023-07-19 19:22:33 浏览: 93
用@Resource注解完成属性装配
@Resource JavaEE 中定义的注解,也可以用于 Spring 中进行自动装配,其装配规则如下:
1. 首先按照名称进行装配,如果找到与名称匹配的 Bean,则将其注入。
2. 如果名称匹配失败,则按照类型进行匹配,如果容器中有且只有一个类型匹配时,则将其注入。
3. 如果存在多个类型匹配,则会抛出 NoUniqueBeanDefinitionException 异常。
需要注意的是,@Resource 没有提供类似 @Qualifier 的属性,无法直接指定需要注入的 Bean 的名称,而是依赖于名称进行匹配。因此,如果要使用 @Resource 进行自动装配,被注入的 Bean 必须在 Spring 容器中注册,并且 Bean 的名称必须与属性名称相同。
如果需要指定 Bean 的名称,则可以使用 @Named 注解,例如:
```java
@Resource
@Named("userDaoImpl")
private UserDao userDao;
```
其中,@Named("userDaoImpl") 指定了需要注入的 Bean 的名称为 "userDaoImpl"。
阅读全文