Toc
  1. IOC 带来的好处
  2. 什么是前置处理器?
  3. 什么是后置处理器?
Toc
0 results found
BOBO
IOC
2020/08/20 Spring

IOC 带来的好处

代理 Bean 的创建、管理、销毁
Bean 的使用过程解耦

什么是前置处理器?

BeanFactoryPostProcess
前置:实例化对象之前
这个机制允许我们在实例化相应对象之前对注册到容器中的 BeanDefinition 的存储信息进行修改。可以根据这个机制对 Bean 增加其它信息。修改 Bean 定义的某些属性值。
想自定义前置处理器需要实现 BeanFactoryPostProcess 接口。当一个容器存在多种前置处理的时候,可以让前置处理器的实现类同时继承 Ordered 接口。
Spring 容器提供了数种现成的前置处理器,常见的如:

  - PropertyPlaceholderConfigurer:允许在xml文件中使用占位符。将占位符代表的资源单独配置到简单的Properties文件中加载
  - PropertyOverrideConfigurer:不同于PropertyPlaceholderConfigurer的是,该类用于处理容器中的默认值覆为新值的场景
  - CustomEditorConfigurer:此前的两个前置处理器处理的均是BeanDefinition.通过把BeanDefinition的数据修改达到目的。CustomEditorConfigurer没有对BeanDefinition做任何变动。负责的是将后期会用到的信息注册到容器之中。例如将类型转换器注册到BeanDefinition中。供BeanDefinition将获取到的String类型参数转换为需要的类型。

什么是后置处理器?

BeanPostProcessor
后置:实例化对象之后
实例后的对象,初始化之前 BeanBeforePostProcessor
实例后的对象,初始化之后 BeanAfterPostProcessor
③、实例化和初始化的区别?
1、实例化—-实例化的过程是一个创建 Bean 的过程,即调用 Bean 的构造函数,单例的 Bean 放入单例池中。
2、初始化—-初始化的过程是一个赋值的过程,即调用 Bean 的 setter,设置 Bean 的属性。

支付宝
微信
Simple is Awesome