Bean 后处理器

原创 2017年07月27日 00:05:36

Bean 后处理器是一种特殊的 Bean,容器中所有的 Bean 在初始化时,均会自动执行该类的两个方法。由于该 Bean 是由其它 Bean 自动调用执行,不是程序员手工调用,故此 Bean无须 id 属性。
需要做的是,在 Bean 后处理器类方法中,只要对 Bean 类与 Bean 类中的方法进行判断,就可实现对指定的 Bean 的指定方法进行功能扩展与增强。方法返回的 Bean 对象,即是增过的对象。
代码中需要自定义 Bean 后处理器类。该类就是实现了接口 BeanPostProcessor 的类。该接口中包含两个方法,分别在目标 Bean 初始化完毕之前与之后执行。它们的返回值为:功能被扩展或增强后的 Bean 对象。
Bean 初始化完毕有一个标志:一个方法将被执行。即当该方法被执行时,表示该 Bean
被初始化完毕。所以 Bean 后处理器中两个方法的执行,是在这个方法之前之后执行。这个方法在后面将会讲到。
public Object postProcessBeforeInitialization(Object bean, String beanId)throws BeansException
该方法会在目标 Bean 初始化完毕之前由容器自动调用。
public Object postProcessAfterInitialization(Object bean, String beanId) throws BeansException
该方法会在目标 Bean 初始化完毕之后由容器自动调用。
它们的参数是:第一个参数是系统即将初始化的 Bean 实例,第二个参数是该 Bean 实例的 id 属性值。若 Bean 没有 id 就是 name 属性值。
举例: ba05 包
程序中有一个业务接口 IService,其有两个业务方法 some()与 other()。有两个 Bean:
StudentServiceImpl 与 TeacherServiceImpl,均实现了 IService 接口。
要求:对 StudentServiceImpl 的 some()方法进行增强,输出其开始执行时间与执行结束时间。
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

版权声明:本文为博主原创,转载请注明出处(http://blog.csdn.net/jdjh1024). https://blog.csdn.net/JDJH1024/article/details/76167850

七、Spring Bean后处理器以及容器后处理器

Bean后处理器:即当Spring容器实例化Bean实例之后进行的增强处理。 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据。 一、...
  • kuailefangyuan
  • kuailefangyuan
  • 2014-01-03 16:47:13
  • 3166

Spring Bean后处理器以及容器后处理器

Bean后处理器:即当Spring容器实例化Bean实例之后进行的增强处理。 容器后处理器:对容器本身进行处理,并总是在容器实例化其他任何Bean之前读取配置文件的元数据并可能修改这些数据。 ...
  • a408308321
  • a408308321
  • 2016-09-29 22:21:11
  • 2287

Spring之bean后处理器的运用

Spring 提供了一种bean ,这种bean 并不对外提供服务,无需id 属性,但它负责对容器中的其他bean 执行处理,例如为容器中的目标bean 生成代理。这种bean 可称为bean后处理器...
  • leisure_life
  • leisure_life
  • 2017-03-28 22:03:17
  • 565

Spring学习记录—容器后处理器和Bean后处理器

容器后处理器:spring容器初始化之后的增强处理。 Bean后处理器:spring初始化Bean时的前后增强处理。容器后处理器@Component public class MyBeanFacto...
  • u013632755
  • u013632755
  • 2017-05-24 20:56:17
  • 256

Bean 后处理器

Bean 后处理器是一种特殊的 Bean,容器中所有的 Bean 在初始化时,均会自动执行该类的两个方法。由于该 Bean 是由其它 Bean 自动调用执行,不是程序员手工调用,故此 Bean无须 i...
  • JDJH1024
  • JDJH1024
  • 2017-07-27 00:05:36
  • 1432

spring后处理bean,BeanPostProcessor

spring 提供一种机制,只要实现此接口BeanPostProcessor,并将实现类提供给spring容器,spring容器将自动执行,在初始化方法前执行before(),在初始化方法后执行aft...
  • lovelovelovelovelo
  • lovelovelovelovelo
  • 2017-03-10 09:26:25
  • 270

总结Spring中工厂后处理器

工厂处理器是一种特殊的Bean,这种Bean并不对外提供服务,它甚至可以无需id属性,它主要负责对容器本身进行某些特殊的处理。Spring中有两类工厂后处理器,一个是BeanFactoryPostPr...
  • chyohn
  • chyohn
  • 2017-02-14 16:46:03
  • 814

Spring学习笔记(二)后处理器与AOP

Spring 后处理器和AOP
  • z55887
  • z55887
  • 2016-09-27 21:37:59
  • 868

使用spring的特殊bean --- 对bean进行后处理和对bean工厂进行后处理简单了解

使用spring的特殊bean --- 对bean进行后处理和对bean工厂进行后处理简单了解 1.对bean进行后处理 后处理是在bean实例化以及装配完成之后发生的,在bean被创建以...
  • hanxiaoshuang321123
  • hanxiaoshuang321123
  • 2012-04-18 15:33:19
  • 1060

HibernateIocLab--Bean后处理

package org.niit.springioc.example3; import org.springframework.beans.BeansException; import org...
  • jiangtongcn
  • jiangtongcn
  • 2011-04-15 13:30:00
  • 318
收藏助手
不良信息举报
您举报文章:Bean 后处理器
举报原因:
原因补充:

(最多只允许输入30个字)