@Resource 和 @Autowired 的区别
时间: 2024-02-28 16:34:48 浏览: 207
1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf
@Resource 和 @Autowired 都是 Spring 框架中用于注入依赖的注解,它们的作用都是将一个对象注入到另一个对象中。
区别在于:
1. @Autowired 默认按照类型(byType)进行装配,如果找到多个同类型的 Bean,则根据变量名称进行匹配,如果仍然无法区分,则会抛出异常。而 @Resource 默认按照名称(byName)进行装配,如果找不到名称匹配的 Bean,则会抛出异常。
2. @Autowired 可以注入 Spring 所有容器中的 Bean,包括自定义 Bean,而 @Resource 只能注入 Spring 容器中的 Bean。
3. @Autowired 是 Spring 框架自带的注解,而 @Resource 是 JavaEE 标准的注解,需要导入 javax.annotation.Resource 包。
总的来说,两者都可以实现注入依赖的功能,选择哪一个注解取决于具体的需求。
阅读全文