当前位置: 首页 > 后端技术 > Java

九、BeanPostProcessor

时间:2023-04-01 15:47:15 Java

1.什么是BeanPostProcessor?所谓BeanPostProcessor其实就是Spring为我们打开的一个窗口。就像拦截器一样,可以在bean对象初始化前后对bean进行进一步的封装;经过进一步处理,也实现了AOP的实现。BeanPostProcessor本质上是一个接口。通过实现该接口的方法,可以对Bean进行封装。注入(DI),然后进入postProcessBeforeInitialization,然后初始化bean,初始化完成后,进入postProcessAfterInitiazation,最后交给调用者。注意方法中的两个参数Objectbean是Spring创建的bean对象,而beanName标签中我们声明的id值为1.1。注意,在实战中,我们很少和Spring的初始化打交道,所以不需要区分是Before方法还是After方法。我们只需要在将bean提供给调用者之前修改bean。封装达到了我们的目的,所以我们只需要实现一个After方法即可,但是需要注意的是Before方法不需要对bean做任何处理操作,但必须返回bean对象。2.实际步骤第一步:编写你的BeanPostProcessor类继承BeanPostProcessor接口,重写方法publicclassMyBeanPostProcessorimplementsBeanPostProcessor{@OverridepublicObjectpostProcessBeforeInitialization(Objectbean,StringbeanName)throwsBeansException{//如果这个方法不行对豆子的任何加工,都需要通过滚筒回豆;}@OverridepublicObjectpostProcessAfterInitialization(Objectbean,StringbeanName)throwsBeansException{if(beaninstanceofCatagory){((Catagory)bean).setName("Paul-Paul");((类别)bean).setOrder(25);}返回豆;}}文章第2步:创建你的bean对象(这里没有展示,因为它太简单了)第3步:在配置文件中注入测试bean和处理器bean

最新推荐
猜你喜欢