@Autowired @Resource区别
时间: 2024-06-17 12:05:20 浏览: 22
@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框架时需要使用依赖注入,建议根据实际需要选择合适的注解。
相关问题
@Autowired与@Resource区别
@Autowired与@Resource都是Spring框架中的依赖注入注解,它们的作用都是自动装配Bean,但是它们有以下几个不同点:
1.来源不同
@Autowired是由Spring提供的注解,而@Resource是由J2EE提供的注解。
2.注入方式不同
@Autowired是按照类型进行自动装配,如果有多个类型相同的Bean,则需要通过@Qualifier指定具体的Bean。
@Resource是按照名称进行自动装配,如果没有指定名称,则默认按照属性名进行匹配。
3.可选性不同
@Autowired默认情况下要求依赖对象必须存在,否则会报错。但是可以通过将@Autowired的required属性设置为false来实现非必须注入。
@Resource默认情况下要求依赖对象必须存在,否则会报错。但是不支持required属性,因此无法进行非必须注入。
@autowired和@resource区别
@autowired和@Resource都是用于注入依赖对象的注解。它们的作用非常相似,但是存在以下几点区别:
1. 注入方式不同:@Autowired是根据类型进行自动装配,如果有多个同类型的bean,则根据变量名称进行匹配;而@Resource默认按名称进行装配,如果找不到对应名称的bean,则尝试按类型进行装配。
2. 依赖来源不同:@Autowired是Spring框架提供的注解,而@Resource是JavaEE标准的注解,可以在其他容器中使用,如Tomcat。
3. @Autowired需要添加额外的注解才能完成注入:当有多个同类型的bean时,@Autowired需要结合@Qualifier或者@Primary注解来指定具体的bean进行注入;而@Resource可以直接指定名称或者类型进行注入。
总之,@Autowired和@Resource都可以完成依赖注入的功能,具体使用哪个注解主要取决于具体的使用场景和个人习惯。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)