实现beanpostprocessor,spring bean后置处理器

  实现beanpostprocessor,spring bean后置处理器

  

目录
一、BeanPostProcessor接口二、案例三、总结

  

一、BeanPostProcessor接口

Bean后置处理:对春天工厂创建的对象进行二次加工处理,即预初始化和后初始化。

  后处理程序中文意思就是后置处理器。

  豆后处理器接口也被称为Bean后置处理器,通过该接口可以自定义调用初始化前后执行的操作方法。

  该接口中包含了两个方法:之前方法(预初始化)和在.之后方法(后厨是化)

  postprocessbeforeininitialization()方法:在豆实例化、属性注入后,初始化前调用。

  后处理后初始化()方法:在豆实例化、属性注入、初始化都完成后调用。

  

二、案例

创建用户类,为了更好的观察豆周期执行流程,在类中添加无参构造器方法setter注入方法init()初始化方法destory()销毁方法,并在方法中都输出一句话。代码如下

  /** * 观察豆周期执行流程*/public class User { String name;int age//无参构造方法公共用户(){ system。出去。println(这是无参构造方法);} //setter方法公共void集名称(字符串名称){ system。出去。println(这是作曲者注入姓名);this . name=name } public void setAge(int age){ system。出去。println(这是作曲者注入年龄);this.age=年龄;} //初始化回调方法公共void init()引发异常{ System.out.println(这是初始化回调方法);} //销毁回调方法公共void销毁()引发异常{ System.out.println(这是销毁回调方法);} //toString方法@ Override public String to String(){ return User { name= name ,age= age }}创建后处理程序类,实现豆后处理器接口,并重写预初始化方法postprocessbeforeininitialization()和后初始化方法后处理后初始化()

  /** *春豆后置处理器*/公共类后处理器实现bean后处理器{ @ Override public Object postprocess before initial ization(Object bean,String bean name)引发bean异常{ system。出去。println(bean名称正在执行预初始化方法);回豆;} @覆盖公共对象postProcessAfterInitialization(对象bean,字符串beanName)抛出bean异常{系统。出去。println(bean名称正在执行后初始化方法);回豆;}}编写春天配置文件,添加豆

  !-添加用户bean-bean id= user class= com。大喇叭。POJO。user init-method= init destroy-method= destroy property name= name value= big horn /property name= age value= 18 //bean!-注册后置处理器-bean id=后处理器 class= com。大喇叭。配置。后处理器/编写运行程序

  公共静态void main(String[] args) { //获取ClassPathXmlApplicationContext容器classpathmlaplicationcontext context=new classpathmlaplicationcontext(应用程序上下文。XML’);//从容器中获取对象User user=context.getBean(user ,用户。类);//使用bean System.out.println(使用bean:用户);//调用关闭方法关闭容器语境。close();}运行结果如下,通过结果我们可以清晰地看到豆生命周期执行流程。

  

三、总结

实际开发中,春豆初始化操作比较少,一般采用后置处理器加工豆子.

  后置处理器有两个方法:之前和在.之后方法。推荐使用在.之后方法,即后初始化方法。

  到此这篇关于详解春天中豆后置处理器(BeanPostProcessor)的使用的文章就介绍到这了,更多相关跳羚后置处理器内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: