IOC无非就是非侵入式的创建与管理对象
最核心莫过于两种处理器BeanFactoryPostProcessor与BeanPostProcessor,Spring功能扩展的重要接口,Spring对Bean的处理主要都是经过内部定义的这两个接口的实现类,做了大量的细节处理,包括AOP与TX也是由相应的处理器实现。也可以由使用者自定义实现类,非侵入式的改变Spring构建Bean的流程与特性
-
BeanFactoryPostProcessor:对BeanDefinition进行处理与内容修改,用来生成Bean的元数据信息,如设置相应的对象为单例或原型。ConfigurationClassPostProcessor属于Spring最重要的后置处理器,在这个类中,会解析加了@Configuration的配置类,还会解析@ComponentScan、@ComponentScans注解扫描的包,以及解析@Import等注解
-
BeanPostProcessor:对已经创建好实例的Bean内容进行修改,如对Bean进行进行AOP代理