当前位置: 首页 > 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.hyszgw.com/news/42897.html

相关文章:

  • 帮忙建站的公司如何给网站加二级域名
  • 网站维护的方式有哪几种网站设计 线框图
  • 打开网址资料网站wordpress改大
  • 永兴县网站建设专业wordpress文章添加链接地址
  • 网站的制遵义在线网站建设
  • 门户网站规划wordpress支付看文章
  • 南京网站推广排名前十深圳方维网站建设公司
  • 北京做网站推广兼职怎样建设大型网站
  • iis怎么部署网站谁有学做网站论坛账号
  • 网站建设招标提问wordpress空2格插件
  • 哪里建网站最好品牌网站建设价格实惠
  • 网站发布和管理系统wordpress 后台子菜单
  • 个人在线做网站免费陶瓷网站开发背景
  • 手机建站平台微点地名网站安全建设方案
  • 沈阳模板网站制作程序员就是做网站的吗
  • 网站开发报告多少页合适近期热点新闻事件及评论
  • 如何制作一个单页网站网页设计实训报告三个步骤
  • 美食的网站建设个人总结河南网站制作
  • 网上设计接单的网站网站开发如何共用菜单栏require
  • 做网站做app区别2018网站外链怎么做
  • 北京网站制作公司有哪些先进网站
  • dede一键更新网站网站整套模板
  • 强生公司营销网站为什么要这样做公司logo设计公司logo设计
  • 商丘做网站汉狮网络从化手机网站建设
  • 合肥 电子商务 网站建设直播网站制作
  • 烟台商机互联做网站吗秦皇岛做网站的公司哪家好
  • 有专门做网站的公司上海网络维护哪个质量好
  • 扁平化设计 网站域名的格式是什么
  • 河南省建设厅网站无事故证明企业做网站属于广告宣传费吗
  • 网站建设前期准备PHP做的哪些大型网站