Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)
2024-10-13 11:15:04
承接上文
IObjectPostProcessor(对象后处理器)
前提是实现接口的对象注册给当前容器
C#:
- 通过继承AbstractObjectFactory对象的AddObjectPostProcessor方法来添加
- 添加对象配置在xml中用IApplicationContext自动注册
java:
- 通过配置在Javabean的xml中用ApplicationContext自动注册
- 调用ConfigurableBeanFactory的addBeanPostProcessor方法
接口名称分别为.net的Spring.Objects.Factory.Config.IObjectPostProcessor
与Java的org.springframework.beans.factory.config.BeanPostProcessor- postProcessBeforeInitialization每个对象的初始化方法被调用之前执行
(不过在c#中必须要有初始化方法,,初始化方法可以是IInitializingObject接口
的AfterPropertiesSet方法,也可以是init-method属性指定的任意方法) - postProcessAfterInitialization在对象的初始化方法返回之后执行
- 第一个参数都是当前实例,第二个参数是在容器中的名称,返回值是当前要设置的实例
- postProcessBeforeInitialization每个对象的初始化方法被调用之前执行
第一点的第一个子接口.net的Spring.Objects.Factory.Config.IInstantiationAwareObjectPostProcessor
与Java的org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor- postProcessBeforeInstantiation如果返回值不为null是一个对象,那么就是返回这个对象,
其中的factory-method方法就是这个方法来实现的,返回null就不改变原来的对象 - postProcessAfterInstantiation返回false会阻止对对象的属性设置
- postProcessPropertyValues设置当前对象的属性,可以对在xml配置的属性再次编辑
返回值类型必须是第一个参数的对象类型
- postProcessBeforeInstantiation如果返回值不为null是一个对象,那么就是返回这个对象,
第一点的第二个子接口.net的Spring.Objects.Factory.Config.IDestructionAwareObjectPostProcessor
与Java的org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor- PostProcessBeforeDestruction为对象销毁的时候
执行顺序为:
- postProcessBeforeInstantiation
- postProcessAfterInstantiation
- postProcessPropertyValues
- postProcessBeforeInitialization(父接口)
- 调用初始化方法
- postProcessAfterInitialization(父接口)
- postProcessBeforeDestruction
- 下一篇:XI.spring的点点滴滴--IObjectFactoryPostProcessor(工厂后处理器)
- 上一篇:Ⅸ.spring的点点滴滴--IObjectFactory与IFactoryObject的杂谈
- 本文链接地址:Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)
最新文章
- Linux 查找文件并删除文件内容
- Centos 用户登录失败N次后锁定用户禁止登陆
- 利用Google Speech API实现Speech To Text
- 在Service Fabric上部署Java应用,体验一把微服务的自动切换
- Html.ActionLink
- C# 线程--第二线程方法
- Hibernate(七)多对一单向关联映射
- 总结&;计划
- 通过Xshell连接CentOS虚拟机
- 第九篇:Map/Reduce 工作机制分析 - 作业的执行流程
- Thinkjs关系数据库学习——查询数据
- 我对SQL性能优化的看法,对我的文章有提议的欢迎评论!
- 2019春第八周作业Compile Summarize
- MySQL主从 常见的错误及解决方案
- jqGrid的userData的用法!!!
- 【bzoj4765】 普通计算姬
- Codeforces Round #323 (Div. 2) C. GCD Table map
- [ios]object-c math.h里的数学计算公式介绍
- JavaScript 操作JSON总结
- POJ 1269 Intersecting Lines(直线求交点)