16、生命周期-BeanPostProcessor原理
2024-09-01 04:27:31
16、生命周期-BeanPostProcessor原理
16.1 打断点运行postProcessBeforeInitialization
可以看到先执行的顺序为:
- applyBeanPostProcessorsBeforeInitialization
- invokeInitMethods
- applyBeanPostProcessorsAfterInitialization
16.2 BeanPostProcessor原理
- 遍历得到容器中所有的BeanPostProcessor ,挨个执行 postProcessBeforeInitialization,一旦返回null,跳出for循环,不会执行后面的BeanPostProcessor
populateBean() 给bean进行属性赋值
initializeBean(){
applyBeanPostProcessorsBeforeInitialization();
invokeInitMethods(); // 执行自定义初始化
applyBeanPostProcessorsAfterInitialization();
}
@Override
public Object applyBeanPostProcessorsBeforeInitialization(Object existingBean, String beanName)
throws BeansException {
Object result = existingBean;
for (BeanPostProcessor processor : getBeanPostProcessors()) {
Object current = processor.postProcessBeforeInitialization(result, beanName);
if (current == null) {
return result;
}
result = current;
}
return result;
}
最新文章
- [LeetCode] Encode and Decode Strings 加码解码字符串
- Chrome 开发工具之Network
- Oracle 在线重定义表分区
- IOS Emoji表情
- LSTM 分类器笔记及Theano实现
- 第五节:表单标签的用法——value绑定和修饰符
- (企业面试部分)超详细思路讲解SQL语句的查询实现,及数据的创建。
- 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器
- Android那些事儿之LBS定位,实践测试lbs
- 使用多种方式实现遍历HashMap
- docker学习3-虚拟网络模式
- viewPage
- 关于CQRS(老外经典好文)
- 关于Windows 7的64位系统不兼容某些控件的问题
- 数学概念——A 几何概型
- .net core 13
- HashMap方法介绍
- fuser:command not found
- 中国省市县数据库sql文件(2017年10月31日之前)
- KALI安装与环境配置