承接上文

IObjectPostProcessor(对象后处理器)


前提是实现接口的对象注册给当前容器

C#:

  1. 通过继承AbstractObjectFactory对象的AddObjectPostProcessor方法来添加
  2. 添加对象配置在xml中用IApplicationContext自动注册

java:

  1. 通过配置在Javabean的xml中用ApplicationContext自动注册
  2. 调用ConfigurableBeanFactoryaddBeanPostProcessor方法
  1. 接口名称分别为.net的Spring.Objects.Factory.Config.IObjectPostProcessor
    与Java的org.springframework.beans.factory.config.BeanPostProcessor

    1. postProcessBeforeInitialization每个对象的初始化方法被调用之前执行
      (不过在c#中必须要有初始化方法,,初始化方法可以是IInitializingObject接口
      的AfterPropertiesSet方法,也可以是init-method属性指定的任意方法)
    2. postProcessAfterInitialization在对象的初始化方法返回之后执行
    3. 第一个参数都是当前实例,第二个参数是在容器中的名称,返回值是当前要设置的实例
  2. 第一点的第一个子接口.net的Spring.Objects.Factory.Config.IInstantiationAwareObjectPostProcessor
    与Java的org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor

    1. postProcessBeforeInstantiation如果返回值不为null是一个对象,那么就是返回这个对象,
      其中的factory-method方法就是这个方法来实现的,返回null就不改变原来的对象
    2. postProcessAfterInstantiation返回false会阻止对对象的属性设置
    3. postProcessPropertyValues设置当前对象的属性,可以对在xml配置的属性再次编辑
      返回值类型必须是第一个参数的对象类型
  3. 第一点的第二个子接口.net的Spring.Objects.Factory.Config.IDestructionAwareObjectPostProcessor
    与Java的org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor

    1. PostProcessBeforeDestruction为对象销毁的时候

执行顺序为:

  1. postProcessBeforeInstantiation
  2. postProcessAfterInstantiation
  3. postProcessPropertyValues
  4. postProcessBeforeInitialization(父接口)
  5. 调用初始化方法
  6. postProcessAfterInitialization(父接口)
  7. postProcessBeforeDestruction

Ⅹ.spring的点点滴滴--IObjectPostProcessor(对象后处理器)的更多相关文章

  1. XI.spring的点点滴滴--IObjectFactoryPostProcessor(工厂后处理器)

    承接上文 IObjectFactoryPostProcessor(工厂后处理器)) 前提是实现接口的对象注册给当前容器 直接继承的对象调用这个postProcessBeanFactory方法,参数为工 ...

  2. Ⅶ.spring的点点滴滴--自定义对象行为

    承接上文 自定义对象行为 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class lifeCycle : Spring.Objects.Factory. ...

  3. Ⅷ.spring的点点滴滴--抽象对象和子对象

    承接上文 抽象对象和子对象 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { public string Name { get; ...

  4. Ⅸ.spring的点点滴滴--IObjectFactory与IFactoryObject的杂谈

    承接上文 ObjectFactory与IFactoryObject的杂谈 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { pu ...

  5. Spring.net 后处理器 可用来切换实例

    .xml配置 <!--我们在Object.xml文件上将HexuObjectPostProcessor注册到上下文对象中去--> <object id="hexu" ...

  6. Ⅵ.spring的点点滴滴--自定义类型转换器

    承接上文 自定义类型转换器 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class CustomeConverter : TypeConverter{ ...

  7. Spring Bean后处理器以及容器后处理器【转】

    Bean后处理器:即当spring容器实例化Bean实例之后进行的增强处理. 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据. 一.Be ...

  8. Ⅱ.spring的点点滴滴--对象

    承接上文 对象的各种实例化 .net篇(环境为vs2012+Spring.Core.dll) 修改原来的PersonDao对象为 public class PersonDao : IPersonDao ...

  9. Spring框架——后处理器

    Bean的后处理 Spring容器实例化Bean实例之后进行的增强处理,关于这里的描述之前有点错误,现在来纠正一下:这个过程有点像AOP,不过我们知道AOP是对方法而言的,而Bean后处理器是针对Ja ...

随机推荐

  1. [BZOJ 4033] [HAOI2015] T1 【树形DP】

    题目链接:BZOJ - 4033 题目分析 使用树形DP,用 f[i][j] 表示在以 i 为根的子树,有 j 个黑点的最大权值. 这个权值指的是,这个子树内部的点对间距离的贡献,以及 i 和 Fat ...

  2. 【转】spring3 MVC实战,手工搭建Spring3项目demo

    更新:这几天对spring3的理解又进了一步,今天抽空把这篇文章中的错误和不当之处做了修改. 最近的项目在用Spring3,涉及到了基于注解的MVC,事务管理,与hibernate的整合开发等内容,我 ...

  3. Codeforces Round #232 (Div. 1)

    这次运气比较好,做出两题.本来是冲着第3题可以cdq分治做的,却没想出来,明天再想好了. A. On Number of Decompositions into Multipliers 题意:n个数a ...

  4. QT 的信号与槽机制介绍

    https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/ http://www.kuqin.com/qtdocume ...

  5. 用Unity3.0+MVC4搭建项目

    新年快乐!又是新的一年到来了,我好久没有在园子里面做笔记啦,由于工作上的事,还好年前把该做的都完善了,于是就写了辞职信.由于家庭原因,不得不离职,在春节期间呢,我放松了几天,去这里去那里的,朋友们喜欢 ...

  6. Fast UI Draw (Intel出品)

    Fast UI Draw in a library that provides a higher performance Canvas interface. It is designed so tha ...

  7. Android WebView 开发详解(二)

    转载请注明出处  http://blog.csdn.net/typename/article/details/39495409 powered by miechal zhao   概览: Androi ...

  8. Android ExpandableListView使用+获取SIM卡状态信息

    ExpandableListView 是一个可以实现下拉列表的控件,大家可能都用过QQ,QQ中的好友列表就是用ExpandableListView实现的,不过它是自定义的适配器.本篇 博客除了要介绍E ...

  9. 【图片处理】cocos2dx png图片压缩处理

    一.介绍 美术用photoshop出图有时候会包含一些无用的信息,这时候image magick可以把这些信息裁掉. 二.使用方法 1.下载并安装Image Magick 2.将脚本里的目录名改成Im ...

  10. nvidia gpu fan speed control

    nvidia在linux上控制风扇速度,需要起X,在无显示器链接的服务器上显得有点坑,这里汇总一下整个流程 1.nvidia-xconfig --cool-bits=4 生成xorg.conf 2.在 ...