文章目录
后置处理 Bean
1. BeanPostProcessor 作用:对 Spring 工厂所创建的对象,进行再加工。
AOP的底层实现
2. 注意:BeanPostProcessor 是一个接口
注意:在项目中我们很少进行初始化操作,所以没必要区分 Before After,只需要实现其中一个(After)方法即可。
同时,我们必须要写 Before 方法空实现,必须 return bean 对象。
-
开发步骤
-
类实现 BeanPostProcessor 接口
public class MyBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; } @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if(bean instanceof Student){ Student student = (Student) bean; student.setName("李四"); } return bean; } }
-
Spring 的配置文件中进行配置
<bean id="stu" class="cf.duanzifan.entity.Student"> <property name="name" value="张三"></property> </bean> <bean id="mypost" class="cf.duanzifan.posrprocessor.MyBeanPostProcessor"></bean>
-
一些细节
1. BeanPostProcessor 会对 Spring 工厂中所有创建的对象进行加工。
-