当前位置: 首页 > wzjs >正文

广西网站建设-好发信息网免费站推广网站2022

广西网站建设-好发信息网,免费站推广网站2022,苏州吴江区住房和城乡建设局网站,wordpress文章外链Autowire Resource 的区别 1.来源不同:其中 Autowire 是 Spring2.5 定义的注解,而 Resource 是 Java 定义的注解 2.依赖查找的顺序不同: 依赖注入的功能,是通过先在 Spring IoC 容器中查找对象,再将对象注入引入到当…

@Autowire @Resource 的区别

1.来源不同:其中 @Autowire 是 Spring2.5 定义的注解,而 @Resource 是 Java 定义的注解

2.依赖查找的顺序不同:

依赖注入的功能,是通过先在 Spring IoC 容器中查找对象,再将对象注入引入到当前类中。而查找又分为两种方式:按名称(byName)或按照类型(byType)查找,其中 @Autowire @Resource 都可以使用名称查询、类型查询,但是区别在于二者进行查找的顺序截然不同。
2.1 @Autowire

@Autowire 注解在查找要注入的 bean 时,首先会按照类型进行匹配,如果有多个匹配的 bean,就会按照名称进行匹配。
具体来说,如果呗注入的属性或构造函数参数的类型在容器中有且只有一个对应的 bean,那么 @Autowire 注解就会直接将该 bean 注入到该属性或构造函数参数中。例如:

@Autowired
private UserService userService;

在这个例子中,如果容器中只有一个类型为 UserService 的 bean ,那么它就会被自动注入到userService 属性中。
但是,如果容器中存在多个类型为 UserService 的 bean,就需要通过名称进行匹配。此时,可以在 @Autowired 注解中使用 @Qualifier注解来指定要注入的bean的名称,如果不使用 @Qualifier 注解就会使用属性名。
例如:

@Autowired
@Qualifier("userService2")
private UserService userService;

在这个例子中,如果容器中有多个类型为 UserService 的 bean,那么它会根据 @Qualifier 注解中指定的名称来匹配要注入的 bean。如果找到了名为 “userService2” 的 bean,就会将它注入到 userService 属性中

这就是多个在实现有多个实现的 bean 注入的时候指定具体的 bean 的方式

2.2 @Resource注解

在Spring中,@Resource注解可以通过名称或者类型来注入bean,具体取决于@Resource注解的两个属性:name和type。
如果@Resource注解中指定了name属性,Spring将会根据该名称来查找对应的bean,并将其注入到被注解的属性或者方法参数中。例如:

@Resource(name = "myBean")
private MyBean myBean;

上述代码将会根据名称“myBean”来查找对应的bean,并将其注入到myBean属性中。
如果@Resource注解没有指定name属性,而是指定了type属性,Spring将会根据该类型来查找对应的bean,并将其注入到被注解的属性或者方法参数中。例如:

@Resource(type = MyBean.class)
private MyBean myBean;

上述代码将会根据类型MyBean来查找对应的bean,并将其注入到myBean属性中。
如果@Resource注解既没有指定name属性,也没有指定type属性,那么它会默认按照名称来查找对应的bean,并将其注入到被注解的属性或者方法参数中。

3. 支持的参数不同:

@Autowired 和 @Resource 在使用时都可以设置参数,但二者支持的参数以及参数的个数完全不同,其中 @Autowired 只支持设置一个 required 的参数,而 @Resource 支持 7 个参数,支持的参数如下图所示:
在这里插入图片描述
在这里插入图片描述

4. 依赖注入的用法支持不同

@Autowired 和 @Resource 支持依赖注入的用法不同,常见依赖注入有以下 3 种实现:
1.属性注入
2.构造方法注入
3.Setter 注入
@Autowired 支持属性注入、构造方法注入和 Setter 注入,而 @Resource 只支持属性注入和 Setter 注入
 
小结:

在使用 Spring 框架要实现区分多个 bean 的注入时,可以使用 @Autowired 配合 @Qualifier(“bean的名字”) 的形式去实现注入不同的 bean

http://www.dtcms.com/wzjs/311362.html

相关文章:

  • 四川城乡建设厅官方网站怎么建立网站卖东西
  • 网站建设公司如何运营seo的搜索排名影响因素有哪些
  • 聊城企业网站建设费用口碑营销的名词解释
  • 视频网站用什么做的好处网络营销的10个特点
  • o2o好网站怎么快速排名
  • 重庆网站建设哪家公司那家好百度指数第一
  • b2b国际贸易商务网站域名服务器查询
  • 国家排污许可网站台账怎么做成人职业技能培训有哪些项目
  • 什么是域名访问网站什么是seo营销
  • 金昌八冶建设集团官方网站廊坊seo
  • wordpress mu下载湖南正规seo优化
  • 海口市住房和城乡建设局网站百度seo关键词优化排行
  • 建设网站比较好的公司排名网站建设费用都选网络
  • 上海网站建设公司地址动态网站建设
  • 安卓优化设计三年级上册答案语文
  • 网站建设z亿玛酷1订制百度官方认证
  • 网站开发的著作权归谁seo外链网
  • 广告设计用什么seo推广案例
  • 做网站的公司是接入商吗百度指数有什么参考意义
  • 代运营诈骗怎么定性的太原seo报价
  • 网站是否正常手机百度正式版
  • 淄企业网站建设公司商丘搜索引擎优化
  • 万网制作网站怎么样网络广告案例
  • 胶州网站建设公司哪家好一键优化表格
  • 网站的下载二维码怎么做软件开发网站
  • 网站建设管理工作经验介绍网站推广网络营销方案
  • 网站建设维护合同模板游戏推广合作
  • 大良网站建设dwxw网站seo策划方案
  • 个人网站建设合同seo网络推广报价
  • 深圳住房和建设局官网站枸橼酸西地那非片的作用及功效