生命周期:在后台线程处理
AbstractApplicationContext reflesh方法卡点:来dubug主流程
tomcat 下Lifecycle类包含tomcat生命周期变迁路示
不去996的,要空余时间学习,不要浪费时间在无用的事上
可实现可不实现,是勾子函数
java 虚拟机规范
commons-digester
ApplicationContext extend HierarchicalBeanFactory
ConfigurableApplicationContext extend ApplicationContext
AbstractApplicationContext extends DefaultResourceLoader impl ConfigurableApplicationContext
基础
NIO 集合 网络编程
三级缓存
DefaultSingletonBeanRegistry
DefaultBeanDefinitionDocumentReader 面向继承设计的,是模板方法
preProcessXml(Element)
postProcessXml(Element)
解析xml时,先处理 profile
bean增强阶段
1,编译 lombok
2,加载
3,运行时
工厂如果没有原料和存储,怎么创建对象
BeanPostProcessor
BeanFactoryPostProccessor
单例对象创建过程
(1)createBeanInstance:实例化,其实也就是调用对象的构造方法实例化对象
(2)populateBean:填充属性,这一步主要是多bean的依赖属性进行填充
(3)initializeBean:调用spring xml中的init 方法。
DefaultSingletonBeanRegistry
中三级缓存
1 | // 第一层: 初始化完备的单例bean |
AbstractAutowireCapableBeanFactory
.createBean 创建bean的核心方法
BeanWrapper
BeanDefined
Enviroment
Resouce