Bean 生命周期过程:
实例化:第 1 步,实例化一个 Bean 对象;
属性赋值:第 2 步,为 Bean 设置相关属性和依赖;
初始化:初始化的阶段的步骤比较多,5、6 步是真正的初始化,第 3、4 步为在初始化前执行,第 7 步在初始化后执行,初始化完成之后,Bean 就可以被使用了;
销毁:第 8~10 步,第 8 步其实也可以算到销毁阶段,但不是真正意义上的销毁,而是先在使用前注册了销毁的相关调用接口,为了后面第 9、10 步真正销毁 Bean 时再执行相应的方法。
初始化方式有三个,分别是:
InitializingBean的afterPropertiesSet方法
PostConstruct注解标注的方法
配置的init-method
上面的三个方法效果都是一样的,开发中选择其中一种方式就行,我们选择2、3方法中的一个。
容器销毁的方式有三个,分别是:
preDestroy注解标注的方法
DisposableBean接口的destroy方法
配置的destroy-method
上面的三个方法效果都是一样的,开发中选择其中一种方式就行,我们选择1、3方法中的一个。