返回

Spring源码分析(十一) - Aware注入spring底层组件原理

发布时间:2022-12-05 17:01:23 293

问题:自定义组件想要使用Spring容器底层的组件(ApplicationContext, BeanFactory)等

自定义组件实现xxxAware, 在创建对象的时候, 会调用接口规定的方法注入到相关组件:Aware

先来看一段代码:

Spring源码分析(十一) - Aware注入spring底层组件原理_spring

CTRL+SHIFT+T  找到Aware

Spring源码分析(十一) - Aware注入spring底层组件原理_自定义组件_02

 

使用ApplicationContextAware接口为例, 实现接口

1, 新建Light.java类, 实现ApplicaitonContextAware接口

Spring源码分析(十一) - Aware注入spring底层组件原理_spring_03

 2,实现BeanNameAware接口

Spring源码分析(十一) - Aware注入spring底层组件原理_自定义组件_04

3,实现EmbeddedValueResolverAware接口

Spring源码分析(十一) - Aware注入spring底层组件原理_自定义组件_05

总结:

把Spring底层的组件可以注入到自定义的bean中,ApplicationContextAware是利用ApplicationContextAwareProcessor来处理的, 其它XXXAware也类似, 都有相关的Processor来处理, 其实就是后置处理器来处理;

XXXAware---->功能使用了XXXProcessor来处理的, 这就是后置处理器的作用;

ApplicaitonContextAware--->ApplicationContextProcessor后置处理器来处理的(前面分析过源码

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线