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

什么网站做外贸好百度云客服人工电话

什么网站做外贸好,百度云客服人工电话,铜川网站建设电话,稻壳网站建设在 Spring 框架中,Autowired 和 Resource 是两个常用的注解,用于实现依赖注入。尽管它们都能达到将依赖对象注入到目标 bean 的目的,但在细节上存在一些显著的差异。本文将深入探讨这两个注解的区别,并结合 Spring 源码进行分析&a…

在 Spring 框架中,@Autowired 和 @Resource 是两个常用的注解,用于实现依赖注入。尽管它们都能达到将依赖对象注入到目标 bean 的目的,但在细节上存在一些显著的差异。本文将深入探讨这两个注解的区别,并结合 Spring 源码进行分析,同时附上源码的执行流程图,帮助您更好地理解它们的工作原理。

一、@Autowired 注解

源码分析

在 Spring 中,@Autowired 的处理主要在 AutowiredAnnotationBeanPostProcessor 类中。当 Spring 容器初始化 bean 时,会遍历 bean 中的属性,如果发现带有 @Autowired 注解的属性,就会尝试从容器中获取对应的 bean 进行注入

代码入口:

public class AutowiredAnnotationBeanPostProcessor extends InstantiationAwareBeanPostProcessorAdapter {public PropertyValues postProcessProperties(PropertyValues pvs, Object bean, String beanName) {/*** 根据当前bean 查找出来所有添加了@AutoWired 属性的* 根据属性实例化 一些注入器*/InjectionMetadata metadata = findAutowiringMetadata(beanName, bean.getClass(), pvs);try {metadata.inject(bean, beanName, pvs);}catch (BeanCreationException ex) {throw ex;}catch (Throwable ex) {throw new BeanCreationException(beanName, "Injection of autowired dependencies failed", ex);}return pvs;}
}

执行流程

  1. Spring 容器扫描带有 @Autowired 注解的属性。
  2. 根据属性的类型在容器中查找匹配的 bean。
  3. 如果找到多个相同类型的 bean,再根据属性名称进行匹配。
  4. 将匹配到的 bean 实例注入到目标属性。

二、@Resource 注解

@Resource 是 JSR-250 规范定义的注解,既可以按照名称进行装配,也可以按照类型进行装配。

源码分析

@Resource 的处理在 Spring 的 CommonAnnotationBeanPostProcessor 类中。

代码入口:

public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBeanPostProcessor implements MergedBeanDefinitionPostProcessor {@Overridepublic PropertyValues postProcessProperties(PropertyValues pvs, Object bean, String beanName) {/*** 根据当前bean 查找出来所有添加了@Resource 属性的* 根据属性实例化 一些注入器*/InjectionMetadata metadata = findResourceMetadata(beanName, bean.getClass(), pvs);try {metadata.inject(bean, beanName, pvs);}catch (Throwable ex) {throw new BeanCreationException(beanName, "Injection of resource dependencies failed", ex);}return pvs;}
}

执行流程

  1. Spring 容器扫描带有 @Resource注解的属性。
  2. 判断是@Resource注解中有名字,并且根据name在spring容器中找不到对应的bean,那么就按照@AutoWired的注入方式进行注入
  3. 条件2 不成立的话那么就按照名字获取一个bean进行注入
http://www.mmbaike.com/news/46613.html

相关文章:

  • 网站后台编辑教程网站优化培训学校
  • 快速搭建网站视频教程游戏代理平台有哪些
  • 丽水网站建设报价青岛疫情最新情况
  • 现在网站一般都是什么语言做的考研培训班哪个机构比较好
  • 微网站如何做百度站长平台怎么用
  • 诸暨有哪些好网站制作公司网站代理公司
  • 网站开发验收过程郑州seo优化大师
  • 一个网站域名多少钱营销策划推广
  • 泰州网站制作报价网络推广是什么意思
  • 毕业设计拼车网站的建设雨实现网店培训班
  • 图片搜集网站怎么做今日热点新闻头条排行榜
  • 定制网站模板企业网络推广方式
  • 更改网站主题b站不收费网站
  • 有哪些好的做网站公司好seo是什么意思电商
  • 网站建设公司扬州阿里指数网站
  • 企业商城网站建设排行榜百度
  • 工信部网站备案网址网络推广深圳有效渠道
  • 西安专业网站建设服务百度seo优化公司
  • 做钓鱼网站犯法吗宁波seo外包推广软件
  • 郑州做网站好的公司软文编辑器
  • 成都市住房和城乡建设局官网查询开鲁网站seo不用下载
  • 淘宝网站建设杭州个人网站建设
  • 如何创建自己公司网站公司网站模板
  • 重庆做网站的公司有哪些企业微信会话内容存档
  • 网站建设手机端页面模板网络营销的四种形式
  • 池州网站建设价格网络营销策划方案怎么做
  • 公众号做微网站google官方下载安装
  • 厦门网站制作百度云盘官网登录入口
  • 做网站服务器多大的好网络广告的收费模式有哪些
  • 网站设置不发送消息怎么设置回来进入百度app