后处理器
April 6, 2023Less than 1 minute
后处理器
Spring 的后处理器是 Spring 对外开发的重要扩展点,允许我们介入到 Bean 的整个实例化流程中来,以达到动态注册 BeanDefinition,动态修改 BeanDefinition,以及动态修改 Bean 的作用。Spring 主要有两种后处理器:
- BeanFactoryPostProcessor:Bean 工厂后处理器,在 BeanDefinitionMap 填充完毕,Bean 实例化之前执行:
- BeanPostProcessor:Bean 后处理器,一般在 Bean 实例化之后,填充到单例池 singletonObjects 之前执行。
需要实现对应接口,注册到 Spring 容器中以后就会自动调用。
动态注册
需要强转
动态修改
BeanFactoryPostProcessor
可以实现注解扫描
BeanPostProcessor
可以实现 AOP,动态代理、方法增强
- bean 初始化前:before
- bean 初始化后:after
很多 Spring 自己和第三方整合框架都是用这两个去做的。