@Autowired @Resource区别
时间: 2024-06-17 17:05:20 浏览: 129
1.@Resource是按名称进行注入的,属于java自带的。@Autowired是按类型进行注入的,属于Spring。.pdf
@Autowired和@Resource都是Spring框架中用来实现依赖注入的注解,它们的主要区别如下:
1. 来源不同:
@Autowired是Spring自带的注解,而@Resource是Java EE提供的注解。
2. 匹配规则不同:
@Autowired默认按照类型进行匹配注入,如果有多个同类型的Bean,可以通过@Qualifier指定名称来选择具体注入哪个Bean;而@Resource默认按照名称进行匹配注入。
3. 注入方式不同:
@Autowired可以用在构造方法、Setter方法、字段和一般方法上;而@Resource只能用在字段上。
4. Null值处理不同:
@Autowired要求被注入的对象不能为null,否则会抛出异常;而@Resource允许被注入的对象为null。
如果在使用Spring框架时需要使用依赖注入,建议根据实际需要选择合适的注解。
阅读全文