Spring后置处理器
程序员文章站
2022-07-12 11:23:24
...
1. BeanPostProcessor
public interface BeanPostProcessor {
@Nullable
default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
@Nullable
default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
执行时机
ApplicationContext容器会自动检测Spring中哪些bean所对应的java类实现了BeanPostProcessor接口,并自动把它们注册为后置处理器,在创建bean过程中调用它们
BeanFactory容器注册bean后置处理器时必须通过代码显示注册,在IOC容器继承体系中的ConfigurableBeanFactory
接口中定义了注册方法。
void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
手动添加
XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
// 显示添加后置处理器
bf.addBeanPostProcessor(bf.getBean(MyBeanPostProcessor.class));
若定义多个BeanPostProcessor实现类,可以通过实现Ordered
接口,定义顺序
2. BeanFactoryPostProcessor
Spring IOC容器允许BeanFactoryPostProcessor在容器实例化任何bean之前读取beanDefinition,并可以修改它。
public interface BeanFactoryPostProcessor {
void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
}
实时内容请关注微信公众号,公众号与博客同时更新:程序员星星
上一篇: 天气+记事+闹钟——android程序
下一篇: AlarmManager实现闹钟
推荐阅读
-
spring security 5.x实现兼容多种密码的加密方式
-
MyBatis 与 Spring 的完美整合方法
-
详解Spring Bean的循环依赖解决方案
-
Spring Boot 配置MySQL数据库重连的操作方法
-
详解Spring3.x 升级至 Spring4.x的方法
-
spring Mvc配置xml使ResponseBody返回Json的方法示例
-
Spring Boot与Kotlin 整合全文搜索引擎Elasticsearch的示例代码
-
Spring Boot中使用LDAP来统一管理用户信息的示例
-
Spring-Cloud Eureka注册中心实现高可用搭建
-
详解使用Spring AOP和自定义注解进行参数检查