我是靠谱客的博主 幸福蚂蚁,最近开发中收集的这篇文章主要介绍spring注解---BeanPostProcessor后置处理器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

.BeanPostProcessor :bean的后置处理器。

        postProcessBeforeInitialization:bean实例被创建之后,初始化方法执行之前被执行

        postProcessAfterInitialization:初始化方法执行之后被执行

        参数:Object bean:当前实例化的bean

                   String beanName:当前实例化的bean在IOC容器中的id

        注意:返回值不能为null,一般返回给的参数实例。

      PS:初始化方法------》就是指,之前可以通过xml文件的init-method属性,@Bean注解的initMethod参数,InitializingBean接口,js250中的@PostConstruct,等方法给实例添加初始化方法。这些初始化方法,会在实例被创建,赋值完成之后被调用。而BeanPostProcessor的postProcessBeforeInitialization()方法则会在他们之间被调用。 也就是实例化完成,属性赋值完成===》postProcessBeforeInitialization()======》初始化方法======》postProcessAfterInitialization

public interface BeanPostProcessor {
Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException;
Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException;
}

 

 

实例:继承BeanPostProcessor 接口,使用@Bean注解注册bean。

public class MyBeanPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("Before "+beanName);
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("After "+beanName);
return bean;
}
}
@Configuration
public class ConfigTest1 {
@Bean
public MyBeanPostProcessor myBeanPostProcessor() {
return new MyBeanPostProcessor();
}
}

效果:

       Dog make ....   Dog了类实例化

       Before dog      后置处理器在初始化方法执行前被调用

      Dog init ....       执行初始化方法

       After dog          后置处理器在初始化方法执行后被调用

    

 

 

 

 

 

 

 

 

最后

以上就是幸福蚂蚁为你收集整理的spring注解---BeanPostProcessor后置处理器的全部内容,希望文章能够帮你解决spring注解---BeanPostProcessor后置处理器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部