@Resource 这个注解是什么用?
看到了很多类似的问题,这篇文章就统一啦。
@Resource 是 Java EE 中的一个注解,用于进行依赖注入。它可以用来标注字段、setter 方法或构造方法,使得容器可以自动装配相应的依赖对象。
在 Spring Framework 中,@Resource 注解通常用于进行依赖注入,与 @Autowired 注解功能类似,但有一些区别:
@Resource 是 Java EE 的标准注解,而 @Autowired 是 Spring 提供的注解。
@Resource 默认按照名称进行装配,如果没有指定名称,则按照类型进行装配;而 @Autowired 默认按照类型进行装配。
@Resource 可以指定装配的名称(name 属性),也可以指定装配的类型(type 属性);而 @Autowired 不支持这种方式。
@Resource 是通过调用 Java EE 的依赖注入机制实现的,而 @Autowired 是通过调用 Spring 框架的依赖注入机制实现的。
下面是一个简单的示例:
import javax.annotation.Resource; public class UserService { @Resource private UserRepository userRepository; // 省略其他代码 }
这个示例中,UserService
类中的 userRepository
字段使用了 @Resource
注解进行了标注,容器会自动将一个符合类型的 Bean 注入到这个字段中,如果存在多个符合类型的 Bean,容器会根据名称来选择具体的 Bean 进行注入。