@Resource的作用是什么
时间: 2023-08-08 21:06:57 浏览: 169
Spring 中 @Service 和 @Resource 注解的区别
`@Resource` 是 Java EE 中的注解,用于在类中注入资源。它的作用是为了使得类中所需要的资源可以被注入进来,而不需要手动去实例化它们,从而简化了代码的编写。
具体来说,`@Resource` 可以用于注入以下类型的资源:
- JNDI资源
- 数据源
- JMS连接工厂和目的地
- 线程池
`@Resource` 注解有两种用法:
1. 标注在字段上,表示注入该字段所对应的资源,例如:
```java
@Resource
private DataSource dataSource;
```
2. 标注在 setter 方法上,表示注入该 setter 方法所对应的属性,例如:
```java
private DataSource dataSource;
@Resource
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
```
需要注意的是,`@Resource` 注解的默认名称是被注入的资源的名称,如果没有显式指定名称,则使用默认名称。如果指定了名称,则会根据名称进行注入。同时,`@Resource` 注解也支持通过 `name` 属性指定要注入的资源的名称,例如:
```java
@Resource(name = "myDataSource")
private DataSource dataSource;
```
在 Spring 框架中,`@Resource` 注解也可以用于注入 Spring 的 bean,但是更常用的是 `@Autowired` 注解。
阅读全文