摘要: 1.ConfigurationClassPostProcessor类的postProcessorBeanDefinitionRegistry()方法 进入processConfigBeanDefinitions()方法 进入parse()方法 进入parse()方法,注意把metadata,bean 阅读全文
posted @ 2021-08-15 14:50 福福猿 阅读(287) 评论(0) 推荐(0)
摘要: 上篇文章讲了ConfigurationClassPostPreocessor类生成BeanDefinition的时机、以及概括了它做的事,它是整个注解开发的支撑,今天来具体细品。 1.看ConfigurationClassPostPreocessor类的postProcessorBeanDefini 阅读全文
posted @ 2021-08-14 21:15 福福猿 阅读(131) 评论(0) 推荐(0)
摘要: 前面的文章一些讲了xml解析、在xml中添加扫描组件就会把@Component类型注解的类封装成BeanDefinition,但现在xml文件的配置方法慢慢的退出了历史的舞台,大多都用注解开发,那么注解又是怎么完成对BeanDefinition的封装的呢?是通过ConfigurationClassP 阅读全文
posted @ 2021-08-14 17:31 福福猿 阅读(77) 评论(0) 推荐(0)
摘要: 讲到这里,refresh()中核心方法就剩下finishBeanBactoryInitialization()方法没讲,这个方法主要是Bean的实例化、依赖注入、AOP,在讲这个方法之前我们讲一些其他的知道,如属性文件解析、如果没有配置文件,那么BeanDefinition怎么来的,Bean的实例化 阅读全文
posted @ 2021-08-14 14:47 福福猿 阅读(143) 评论(0) 推荐(0)
摘要: ThreadLocal很容易让人望文生义,认为是一个本地线程,其实不然,ThreadLocal是Thread的一个局部变量,TheradLocal本身是一个类,是用于解决多线程并发访问问题。它为每一个线程提供了变量副本,使得每个线程在同一时刻访问到的并非同一个对象,从而隔离了多个线程对数据的共享。 阅读全文
posted @ 2021-08-01 21:48 福福猿 阅读(176) 评论(0) 推荐(0)
摘要: 如果我们想要在spring容器加载完成时,做一些什么操作,就可以通过事件的监听来完成,由上篇文章知道spring在容器加载完成时会发布一个ContextRefreshedEvent事件,那么我们只要去监听 这个事件即可。 创建一个类实现ApplicationListener接口 测试 我们也可以自定 阅读全文
posted @ 2021-08-01 20:18 福福猿 阅读(64) 评论(0) 推荐(0)
摘要: 前面讲了往事件管理类中注册事件,那么事件的监听什么时候被触发呢?在事件发布的时候,发布事件时会获取到事件管理类中所有的事件,去循环广播,然后调用事件监听类的onApplicationEvent()方法。在容器加载完成的时候,spring会发布一个ContextRefreshdEvent。 1.ref 阅读全文
posted @ 2021-08-01 19:49 福福猿 阅读(94) 评论(0) 推荐(0)
摘要: 在refresh()方法中有一个registerListeners()方法,该方法主要完成往事件管理类中注册事件。 1.refresh()方法中的registerListeners()方法 2.进入registerListeneres()方法 阅读全文
posted @ 2021-08-01 16:55 福福猿 阅读(209) 评论(0) 推荐(0)
摘要: 在spring容器加载核心方法refresh()方法中有一个initApplicationEventMulticaster()方法,该方法主要完成事件管理类的初始化,并加入一级缓存。 1.refresh()方法中的initApplicationEventMulticaster()方法 2.进入ini 阅读全文
posted @ 2021-08-01 16:52 福福猿 阅读(171) 评论(0) 推荐(0)
摘要: 第5篇我们讲了invokeBeanFactoryPostProcessors()方法,我们接着spring容器加载refresh()核心方法往下走,今天来看registerBeanPostProcessor()方法 1.refresh()中的registerBeanPostProcessor()方法 阅读全文
posted @ 2021-08-01 16:18 福福猿 阅读(72) 评论(0) 推荐(0)