承接上文

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

最新文章

  1. Linux 查找文件并删除文件内容
  2. Centos 用户登录失败N次后锁定用户禁止登陆
  3. 利用Google Speech API实现Speech To Text
  4. 在Service Fabric上部署Java应用,体验一把微服务的自动切换
  5. Html.ActionLink
  6. C# 线程--第二线程方法
  7. Hibernate(七)多对一单向关联映射
  8. 总结&计划
  9. 通过Xshell连接CentOS虚拟机
  10. 第九篇:Map/Reduce 工作机制分析 - 作业的执行流程
  11. Thinkjs关系数据库学习——查询数据
  12. 我对SQL性能优化的看法,对我的文章有提议的欢迎评论!
  13. 2019春第八周作业Compile Summarize
  14. MySQL主从 常见的错误及解决方案
  15. jqGrid的userData的用法!!!
  16. 【bzoj4765】 普通计算姬
  17. Codeforces Round #323 (Div. 2) C. GCD Table map
  18. [ios]object-c math.h里的数学计算公式介绍
  19. JavaScript 操作JSON总结
  20. POJ 1269 Intersecting Lines(直线求交点)

热门文章

  1. WEB黑客工具箱之FireBug介绍
  2. AOT
  3. win7 64下暗黑世界V1.1 服务器端及客户端的安装及运行 成功
  4. Twisted 阐述
  5. POJ2402+模拟
  6. jQuery 在IE下对表单中input type="file"的属性值清除
  7. Android 设置thumb图片大小
  8. 用PersonalRank实现基于图的推荐算法
  9. Android 内核初识(8)Binder
  10. WinForm实现简单的拖拽功能(C#)