Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)
承接上文
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(对象后处理器)
Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)的更多相关文章
- XI.spring的点点滴滴--IObjectFactoryPostProcessor(工厂后处理器)
承接上文 IObjectFactoryPostProcessor(工厂后处理器)) 前提是实现接口的对象注册给当前容器 直接继承的对象调用这个postProcessBeanFactory方法,参数为工 ...
- Ⅶ.spring的点点滴滴--自定义对象行为
承接上文 自定义对象行为 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class lifeCycle : Spring.Objects.Factory. ...
- Ⅷ.spring的点点滴滴--抽象对象和子对象
承接上文 抽象对象和子对象 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { public string Name { get; ...
- Ⅸ.spring的点点滴滴--IObjectFactory与IFactoryObject的杂谈
承接上文 ObjectFactory与IFactoryObject的杂谈 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { pu ...
- Spring.net 后处理器 可用来切换实例
.xml配置 <!--我们在Object.xml文件上将HexuObjectPostProcessor注册到上下文对象中去--> <object id="hexu" ...
- Ⅵ.spring的点点滴滴--自定义类型转换器
承接上文 自定义类型转换器 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class CustomeConverter : TypeConverter{ ...
- Spring Bean后处理器以及容器后处理器【转】
Bean后处理器:即当spring容器实例化Bean实例之后进行的增强处理. 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据. 一.Be ...
- Ⅱ.spring的点点滴滴--对象
承接上文 对象的各种实例化 .net篇(环境为vs2012+Spring.Core.dll) 修改原来的PersonDao对象为 public class PersonDao : IPersonDao ...
- Spring框架——后处理器
Bean的后处理 Spring容器实例化Bean实例之后进行的增强处理,关于这里的描述之前有点错误,现在来纠正一下:这个过程有点像AOP,不过我们知道AOP是对方法而言的,而Bean后处理器是针对Ja ...
随机推荐
- javascript随手记
编码规范 避免使用全局变量 写在所有函数外面的变量就是全局变量. 之所以要避免使用全局变量是因为:如果有多个类库的话,它们都定义了一个名字的变量.这时候后引入的类库中该变量的值就会覆盖前面引入的类库中 ...
- Codeforces Round #326 div2
Problem_A(588A): 题意: Duff 很喜欢吃肉, 每天都要吃,然而她又懒得下楼. 可以买很多放在家里慢慢吃.然而肉价每天都在变化,现给定一个n, 表示有多少天,然后第i天吃ai kg的 ...
- ECSHOP安装或使用中提示Strict Standards: Non-static method cls_image:
随着ECSHOP的不断发展,越来越多的人成为了ECSHOP的忠实粉丝.由于每个人的服务器环境和配置都不完全相同,所以ECSHOP也接二连三的爆出了各种各样的错误信息.相信不少新手朋友在ECSHOP安装 ...
- uva 1475 - Jungle Outpost
半平面交,二分: 注意,题目的点是顺时针给出的: #include<cstdio> #include<algorithm> #include<cmath> #def ...
- MAC下《暗黑世界》客户端版本编译说明!!
原地址:http://blog.csdn.net/uxqclm/article/details/11970659 2013-09-24 12:02 161人阅读 评论(0) 收藏 举报 目录(?) ...
- Spring+MyBatis实践—中文乱码
多种中文乱码问题及解决: jsp页面乱码 表单提交乱码 URL中文参数乱码 1.jsp页面乱码解决(2步): 新建jsp页面: <%@ page language="java" ...
- SEO 网站页面SEO优化之页面title标题优化
在seo优化中,标题的优化占着举足轻重的地位,无论是从用户体验的角度出发,还是从搜索引擎的排名效果出发,title标题都是页面优化最最重要的因素.笔者总结了优化title标题应该注意的六个方面: ①. ...
- maven 依赖排除
在项目中遇到一个问题,项目使用spring 3.x,引用了某些包,这些包又依赖了spring2.x,造成项目无法启动.这种情况就需要用到maven的依赖排除,配置如下: 使用以下代码排除依赖xxxx引 ...
- [jobdu]扑克牌顺子
一开始看到题还以为要DFS还是BFS,后来发现完全不用.排个序,然后看看大小王能不能弥补缺口就行,但后来又发现还要排除有相同大小牌的情况. #include <iostream> #inc ...
- ANDROID_MARS学习笔记_S01原始版_006_ListView
一.代码1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...