java面试,resource和autowired的区别
时间: 2023-09-21 16:04:04 浏览: 50
在Java中,@Resource和@Autowired都是用于依赖注入的注解,它们的作用都是告诉Spring容器要为指定的属性或方法参数注入一个Bean对象。但是,它们之间有一些区别,如下所述:
1. @Autowired是Spring提供的注解,而@Resource是JavaEE提供的注解。
2. @Autowired是根据类型进行自动装配的,如果有多个类型相同的Bean,则会根据属性名进行匹配。而@Resource是根据名称进行装配的,如果没有指定name属性,则会默认使用属性名作为名称进行匹配。
3. @Autowired是可以标注在构造方法、属性、方法或参数上的,而@Resource只能标注在属性或方法上。
4. @Autowired是通过反射机制实现的,而@Resource是通过JavaEE提供的JNDI(Java Naming and Directory Interface)机制实现的。
综上所述,@Autowired和@Resource都可以实现依赖注入,但在使用上还是有一些区别的。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)