* Bean 的生命周期按照粗略的五步的话:
*第一步:实例化 Bean (调用无参数构造方法。)
*第二步:给 Bean 属性赋值(调用 set 方法。)
*第三步:初始化 Bean (会调用 Bean 的 init 方法。注意:这个 init 方法需要自己写,自己配。)*第四步:使用 Bean
*第五步:销毁 Bean (会调用 Bean 的 destroy 方法。注意:这个 destroy 方法需要自己写,自己配。)
* Bean 的生命周期按照七步:
*第一步:实例化 Bean (调用无参数构造方法。)
*第二步:给 Bean 属性赋值(调用 set 方法。)
*第三步:Bean后处理器before方法执行
*第四步:初始化 Bean (会调用 Bean 的 init 方法。注意:这个 init 方法需要自己写,自己配。)
*第五步:Bean后处理器after方法执行
*第六步:使用 Bean
*第七步:销毁 Bean (会调用 Bean 的 destroy 方法。注意:这个 destroy 方法需要自己写,自己配。)
Bean 生命周期十步:比七步添加的那三步在哪里?
*点位1:在" Bean 后处理器" before 方法之前
干了什么事儿?
检查 Bean 是否实现了 Aware 相关的接口,如果实现了接口则调用这些接口中的方法。
然后调用这些方法的目的是为了给你传递一些数据,让你更加方便使用。
*点位2:在" Bean 后处理器" before 方法之后
干了什么事儿?
检查 Bean 是否实现了 InitializingBean 接口,如果实现了,则调用接口中的方法。
*点位3:使用 Bean 之后,或者说销毁 Bean 之前
干了什么事儿?
检查 Bean 是否实现了 DisposableBean 接口,如果实现了,则调用接口中的方法。
(添加的这三个点位的特点:都是在检查你这个 Bean 是否实现了某些特定的接口,如果实现了这些接口,则 Spring 容器会调用这个接口中的方法。)