千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:南京千锋IT培训  >  技术干货  >  @Autowired和@Resource有哪些区别?

@Autowired和@Resource有哪些区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-21 04:22:08

一、@Autowired和@Resource 的区别

1、来源不同

@Autowired 和 @Resource 来自不同的“父类”,其中 @Autowired 是 Spring 定义的注解,而 @Resource 是 Java 定义的注解,它来自于 JSR-250。

2、依赖查找顺序不同

依赖注入的功能,是通过先在 Spring IoC 容器中查找对象,再将对象注入引入到当前类中。而查找有分为两种实现:按名称(byName)查找或按类型(byType)查找,其中 @Autowired 和 @Resource 都是既使用了名称查找又使用了类型查找,但二者进行查找的顺序却截然相反。

@Autowired 是先根据类型(byType)查找,如果存在多个 Bean 再根据名称(byName)进行查找,@Resource 是先根据名称查找,如果(根据名称)查找不到,再根据类型进行查找。

3、支持的参数不同

@Autowired 和 @Resource 在使用时都可以设置参数,但二者支持的参数以及参数的个数完全不同,其中 @Autowired 只支持设置一个 required 的参数,而 @Resource 支持 7 个参数。

4、依赖注入的支持不同

 @Autowired 支持属性注入、构造方法注入和 Setter 注入,而 @Resource 只支持属性注入和 Setter 注入。

延伸阅读:

二、什么是 @Autowired

@Autowired是Spring中的一个注释,这个注释的功能就是为我们注入一个定义好的 bean。

这个注释是属于 Spring 的容器配置的一个注释,与它同属容器配置的注释还有:@Required,@Primary, @Qualifier 等等。因此 @Autowired 注释是一个用于容器 ( container ) 配置的注释。

autowire,这个单词的意思是自动装配的意思。在 Spring 的世界当中,自动装配指的就是使用将 Spring 容器中的 bean 自动的和我们需要这个 bean 的类组装在一起。

@Autowired 是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。@Autowired 默认是按照类去匹配,配合 @Qualifier 指定按照名称去装配 bean。

以上就是关于@Autowired和@Resource的区别的内容了,希望对大家有帮助。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

面试常问的linux命令?

2023-10-21

linux常用命令sek?

2023-10-21

linux装网卡的命令?

2023-10-21

最新文章NEW

linux加用户命令行?

2023-10-21

linux查文件数量命令?

2023-10-21

linux命令窗口浏览器?

2023-10-21

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>