作用:在初始化和销毁bean时候,做一些处理工作是调用生命周期方法
格式:
<bean id=”该生命周期的名称” class=”提供方法的类的全路径” init-methood=”init” destroy-method=”destroy”/baen>
注意:destroy只有scope=singleton的时候才会发生作用
全生命周期的十一步方法
1、 Instantiate:bean对象实例化
2、 populate properties:封装属性
3、 如果Bean实现BeanNameAware:执行setBeanName
4、 如果Bean实现BeanFactoryAwanre或者ApplicationContextAware:设置工厂setBeanFactory或者上下文对象setApplicationContext
5、 如果存在BeanPostProcessor(后处理Bean)的实现类:执行postProcessBeforeInitialization
6、 如果Bean实现InitializingBean:执行afterPropertiesSet
7、 如果存在<bean init-method=”init”/>:指定初始化方法
8、 如果存在BeanPostProcessor(处理Bean)的实现类:执行postProcessAfterInitialization
9、 执行业务处理
10、 如果Bean实现DisposableBean:执行destroy
11、 如果存在<bean destroy-method=”customerDestroy”/>:指定销毁方法
Jdk的动态代理?
http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html
为AOP进行铺垫