- 博客(8)
- 问答 (1)
- 收藏
- 关注
原创 Spring5源码-事件
注册事件监听器,也就是把所有的事件监听器解析后管理起来,方便后续查找。发布事件也就是找到符合指定事件的事件监听器,循环调用即可。
2024-11-18 15:44:36
551
原创 Spring5源码-AutowiredAnnotationBeanPostProcessor
2、接下来调用MergedBeanDefinitionPostProcessor接口的postProcessMergedBeanDefinition方法完成对@Autowired标注的字段或方法进行解析,并保存到injectionMetadataCache的Map中。比如有以下示例代码,解析到一个参数的构造函数,发现依赖C,然后去创建Bean C,最终通过ctor.newInstance(argsWithDefaultValues)完成实例化。到这里,依赖注入就分析完了。
2024-11-13 17:58:21
927
原创 Spring5源码-BeanPostProcessor接口分析
1、BeanPostProcessor用于 Bean 初始化前后添加自定义逻辑2、InstantiationAwareBeanPostProcessor用于Bean实例化前后添加自定义逻辑3、SmartInstantiationAwareBeanPostProcessor在继承InstantiationAwareBeanPostProcessor的基础上添加了返回获取目标对象的类型,构造器,以及对Bean的引用回调。
2024-11-11 17:15:14
1018
原创 Spring5源码-ConfigurationClassPostProcessor
承接上文前文已经介绍了ConfigurationClassPostProcessor的功能,并且在invokeBeanFactoryPostProcessors(beanFactory)方法中会被调用,接下来分析它是如何运作的。1、获取所有已经注册的BeanDefinition,判断是否为配置候选类(是否有@Configuration、@Component、@ComponentScan、@Import、@ImportResource、方法上有@Bean,只要符合其中一个,就是配置候选类)
2024-11-07 15:31:11
804
原创 Spring5源码-BeanFactoryPostProcessor接口分析
1、在refresh方法的invokeBeanFactoryPostProcessors(beanFactory)中,实现了BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor接口的类都会被调用。
2024-11-01 11:02:33
973
原创 Spring5源码-AnnotationConfigApplicationContext分析
1、Spring底层采用BeanDefinition来存储Bean的元数据信息,为后期创建Bean提供Bean的相关信息。2、AnnotationConfigApplicationContext用于将普通的类转化为BeanDefinition对象并注册到Spring容器中,自身不提供任何功能,都是借助于AnnotatedBeanDefinitionReader和ClassPathBeanDefinitionScanner来实现的。
2024-10-30 09:50:17
723
1
空空如也
微信现金红包提示mchid和wxappid不匹配
2018-12-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人