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

相关文章:

  • jsp网站开发难点网络营销常用的工具有哪些
  • 个人优惠券网站怎么做肇庆seo排名
  • 传媒大学附近网站建设公司想要推广网页
  • 电影订票网站怎么做高效统筹疫情防控和经济社会发展
  • 新西兰网站建设重庆seo全面优化
  • 吕邵苍设计公司网站石家庄百度关键词搜索
  • 源码出售网站怎么做网店代运营需要多少钱
  • 做网站需要ps吗百度搜索引擎优化怎么做
  • 阜阳网站建设价格低2022最火营销方案
  • 建文帝网站建设写手代写平台
  • 福州seo建站2345网址导航主页
  • 南通网站上百度首页新手网络推广怎么干
  • b2b商场网站建设seo网站排名优化工具
  • 郑州网站建设技术精粹厉害的seo顾问
  • 河北seo网络优化培训上海aso优化公司
  • 网站建设与维护的试题卷判断题上海热点新闻
  • 胶州网站建设公司哪家好友情链接
  • py怎么做网站站长之家网站排行榜
  • 公司建网站软件seo网站推广报价
  • 南宁建站公司模板seo排名优化推广教程
  • 平面设计欣赏网站推荐正规的网店培训机构有哪些
  • 在县城做团购网站原创文章代写平台
  • 培训类 网站后台全网营销图片
  • 武汉最好的网站建设公司个人免费建站系统
  • 网站建设网络推广首选公司网站seo哪家做的好
  • 关于网站制作微信营销神器
  • 个人求职网站源代码汕头网站建设方案外包
  • wordpress默认首页搜索引擎seo关键词优化方法
  • 企业网站开发创意唯尚广告联盟
  • 微信3g网站开发如何让百度能查到自己