IOC 容器中 Bean 的生命周期:
1.通过构造器或工厂方法创建 Bean 实例
2.为 Bean 的属性设置值和对其他 Bean 的引用
3.调用 Bean 后置处理器接口(BeanPostProcessor),进行初始化前处理
4.调用 Bean 的初始化方法
5.调用 Bean 后置处理器接口(BeanPostProcessor),进行初始化后处理
6.Bean 可以使用了
7.当容器关闭时, 调用 Bean 的销毁方法
8.在 Bean 的声明里设置 init-method 和 destroy-method 属性, 可以为 Bean 指定初始化和销毁方法