关键词不能为空

依赖注入的实现(依赖注入的实现原理)

作者:admin
来源:http://www.sdzsb8.cn/zsxx/22877.html
日期:2022-07-14 08:33
评论:0
阅读 80

依赖注入的实现?依赖注入的实现原理?@Autowired是spring框架提供的实现依赖注入的注解,主要支持在set方法,field,构造函数中完成bean注入,注入方式为通过类型查找bean,即byType的,如果存在多个同一类型的bean,则使用@Qualifier来指定注入哪个beanName的bean。与JDK的@Resource的区别:@Resource是基于bean的名字,即beanName,来从spring的IOC容器查找bean注入的,而@Autowried是基于类型byType来查找bean注入的。在spring框架内部实现当中,注解实现注入主要是通过bean后置处理器BeanPostProcessor接口的实现类来生效的。

依赖注入的实现(依赖注入的实现原理)

一、spring依赖注入的使用

@Autowired是spring框架提供的实现依赖注入的注释,主要支持set方法、字段、构造函数中的bean注入。注入法是按类型找beans,也就是按类型找。如果有多个相同类型的bean,请使用@Qualifier来指定要注入哪个beanName的bean。

与JDK的@Resource的区别:@Resource是基于bean的名字,即beanName,从spring的IOC容器中查找bean注入,而@ autowritten是基于type byType查找bean注入。

与JDK的@Inject不同:@Inject也是基于类型来寻找bean注入。如果需要指定名称beanName,可以结合使用@Named注释,而@Autowired结合使用@Qualifier注释来指定名称beanName。

二、spring依赖注入注释的实现原理

注释处理器

在spring框架的内部实现中,注释实现注入主要是通过bean后处理器BeanPostProcessor接口的实现类来实现的。BeanPostProcessor后处理器在spring容器启动时创建bean对象实例后立即执行,并处理bean对象实例。

@Autowired通过beanpost处理器接口的实现类autowireannotationBeanPostProcessor实现bean对象对其他bean对象的依赖注入;

@Resource和@Inject是通过beanpostprocessor接口的实现类实现的,顾名思义就是公共注释,公共注释BeanPostProcessor是spring中的一个BeanPostProcessor,统一处理JDK中定义的注释。这个类处理的评论还包括@PostConstruct、@PreDestroy等。

注意处理器的激活条件。

在spring容器的BeanPostProcessor中添加了AutowireannotationBeanPostProcessor和commonannotationbeanpostprocessor,即激活这些处理器的条件如下:

1.基于xml的spring配置

在相应spring容器的配置xml文件中添加和,比如applicationContext.xml,或者只使用。

两者的区别在于只发现并激活已有的bean,比如加载到spring容器的bean是通过xml文件的bean标签生成的,而不是扫描带有@Controller之类注释的bean,找到后注入;除了它的函数之外,它还将在basePackages属性指定的包下加载类,默认情况下,它会扫描@Controller、@Service、@Component、@Repository的注释。如果不指定basePackages,它位于类路径下,或者如果使用注释@ComponentScan,它位于当前类所在的包及其子包下。

2.基于配置类的弹簧配置

如果spring是基于configuration类而不是applicationContext.xml配置的,比如SpringBoot,内部使用的IOC容器实现为AnnotationConfigApplicationContext或者它的派生类,上面的BeanPostProcessor会在AnnotationConfigApplicationContext内自动创建并激活。

如果基于xml的配置和配置类配置都存在,并且基于注释的注入在注入时间上先于基于XML的注入,那么基于XML的注入将覆盖基于注释的注入。

摘要


本文来自网络,不代表「专升本要什么条件_专升本要几年_成人高考专升本_山东专升本信息网」立场,转载请注明出处:http://www.sdzsb8.cn/zsxx/22877.html

依赖注入的实现(依赖注入的实现原理)的相关文章

  • 会计学硕士院校排名(最好的会计学校排名)

    会计学硕士院校排名(最好的会计学校排名):1、2022-2023会计学考研学校排名:会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本

    问答
  • 历史上年龄最小的皇帝,在位19年,13岁继位,年仅32岁

    历史上年龄最小的皇帝,在位19年,13岁继位,年仅32岁:光武帝→刘秀,在位 32 年,宛城起兵,在昆阳以少胜多打败王莽,建立东汉,公元 57 年病逝,终年 63 岁汉明帝→刘庄,在位 18 年 ,10 岁时就通晓了 《 春秋 》, 在位期间人口暴增,

    百科
  • 学生平板电脑排行榜「适合学生用的平板电脑十大排名」

    学生平板电脑排行榜「适合学生用的平板电脑十大排名」:大家好,乐天来为大家解答以下问题,十款值得买的学生平板电脑排行榜,儿童平板电脑推荐很多人还不知道,现在让我们一起来看看吧! 1、优学... 大家好,乐天来为大家...1小米平板4Plus小米

    招生学校
  • 去英国读研需要什么条件「出国留学门槛最低的国家」

    去英国读研需要什么条件「出国留学门槛最低的国家」:去英国读研需要哪些条件 近年来,由于各种原因,在美国学习的中国学生人数逐渐减少。 然而,与英国相反,英国也是一个留学大国,国际学生的数量却在不断上升。 毕竟...2022年研究生考试

    政策
  • 交大是学什么的「交大为什么叫交大」

    交大是学什么的「交大为什么叫交大」:揭秘:为什么上交大与西交大门楣上都只写交通大学出国留学网高考网为大家提供揭秘:为什么上交大与西交大门楣上都只写交通大学,更多高考资讯请关注我们网站的更新...国内不少城市

    政策
  • 端午节祝福的话语,句句暖人心(端午节的美好祝愿)

    端午节祝福的话语,句句暖人心(端午节的美好祝愿):1、端午节祝福的话语:1、端午到,尝粽忙,尝个枣粽香甜溢,祝愿生活多甜蜜,尝个肉粽满口香,祝愿家庭福满多,尝个豆粽有滋味,祝愿爱情多趣味。2、端午节祝愿生活如粽子多滋

    问答
  • 怎么测试iq「怎么测试自己的iq多少」

    怎么测试iq「怎么测试自己的iq多少」:韦氏智力量表 目前国际上最通用的智力测试就是韦氏智力量表,那么通过这个量表怎么测试自己的iq呢?从1939年开发出来就逐渐成为了使用率最高的智力...在中国,我们一般认为IQ就是

    招生学校
  • 58同城的招聘信息看到的厦门出海捕鱼工两万一个月,是不是真的,是骗人的吗?(厦门招聘网58同城)

    58同城的招聘信息看到的厦门出海捕鱼工两万一个月,是不是真的,是骗人的吗?(厦门招聘网58同城):1、您好,58同城是提供用户免费发布信息的平台,我们有专门的工作人员,每天都在努力审核全国用户发布的海量信息,建议您选择已经通过营业执照认证的公司。2、用人单位招聘时,

    热讯
  • 对于高考的复读生,在高考当中有什么限制?

    对于高考的复读生,在高考当中有什么限制?:高考复读生是高考众多群体当中一个不容忽视的重要群体,因为每一年的高考总会有落榜生,他们这些考生都想复读生参加高考有什么限制?着通过复读一年来考取更好的大学。除了落

    百科
网站公告