Spring ioc 初始化过程
2021-08-17 17:34:36 93 举报
spring ioc加载过程
作者其他创作
大纲/内容
BeanPostProcessor
4.SmartInstantiationAwareBeanPostProcessor
determineCandidateConstructors
注入属性PropertyValues
JDK动态代理
BeanDefinitionRegisterPostProcessor
postProcessMergedBeanDefinition
postProcessBeforeInstantiation
BeanFactory
3.MergedBeanDefinitionPostProcessor
FileSystemXmlApplicationContext
bean的9大后置处理器
BeanDefinition
BeanPostProcessor.postProcessAfterInitialization
postProcessPropertyValues
getBean(\"beanName\")
注册
5.InstantiationAwareBeanPostProcessor
Spring是如何将自己写的@Compment或者XML中的 bean初始化成bean?
ClassPathXmlApplicationContext
BeanDefinitionReader
beanClassName
k:beanNamev:BeanDefinition
属性填充
CGLIB
getBean
postProcessBeforeInitialization
isSingleton
requireDistrction
1.InstantiationAwareBeanPostProcessor
put一级缓存
可直接返回bean停止创AOP切面建
8.BeanPostProcessor
more...
BeanDefinitionScanner
initMethod
getEarlyBeanReference
BeanFactoryPostProcessor:在BeanFactory标准初始化之后调用,来定制和修改BeanFactory的内容。BeanDefinitionRegisterPostProcessor:在所有bean定义信息将要被加载,bean实例还未创建的时候加载,优先于BeanFactoryPostProcessor执行,利用BeanDefinitionRegistryPostProcessor给容器中再额外添加一些组件
scope
指定实例化的构造函数
Bean
postProcessAfterInitialization
AOP
注册BeanDefinitionMap
destroyMethod
解析
解决循环引用AOP
7.BeanPostProcessor
2.SmartInstantiationAwareBeanPostProcessor
BeanPostProcessor.postProcessBeforeInitialization
bean的生命周期
BeanFactoryPostProcessor
lazzyInit
6.InstantiationAwareBeanPostProcessor
修改
实例化
dependson
initMethodName
终止赋值
资源文件定位
9.DistructionAwareBeanPostProcessor
BeanDefinitionRegister
AnnotationConfigApplicationContext
postProcessAfterInstantiation
@Autowired @Value预解析
初始化前调用@PostContruct
初始化后创建AOP代理
0 条评论
回复 删除
下一页