spring容器扩展点

spring容器扩展点

使用BeanPostProcessor自定义bean实例

控制实例化逻辑和依赖解析。对于多个BeanPostProcessor,可以实现Ordered接口来控制调用顺序。注意,操作的是Bean实例。同时,BeanPostProcessor只归属于某一个容器,不具有继承关系。

对于调用顺序,如果是通过xml配置自动检测,则由ApplicationContext容器控制(Ordered起作用);如果是通过编程方式,则Ordered不起作用,顺序只和注册顺序有关;调用顺序,编程方式总是优先于配置方式。

例如:RequiredAnnotationBeanPostProcessor

使用BeanFactoryPostProcessor自定义bean配置元数据

注意,操作的是BeanDefinition实例。同样,可以实现Ordered接口来控制调用顺序。

例如:PropertyOverrideConfigurer、PropertyPlaceholderConfigurer


分享到:


相關文章: