管理Bean生命周期
构造(对象创建)
单实例:在容器启动的时候创建对象
多实例:在每次获取的时候创建对象
执行 BeanPostProcessor.postProcessBeforeInitialization
初始化:
对象创建完成,并赋值好,调用初始化方法。。。
执行 BeanPostProcessor.postProcessAfterInitialization
销毁:
单实例:容器关闭的时候
多实例:容器不会管理这个bean;容器不会调用销毁方法;
具体后面看spring代码。。
指定初始化和销毁方法
通过@Bean指定init-method和destroy-method;
通过让Bean实现InitializingBean(定义初始化逻辑)DisposableBean(定义销毁逻辑)
@PostConstruct:在bean创建完成并且属性赋值完成;来执行初始化方法 @PreDestroy:在容器销毁bean之前通知我们进行清理工作
BeanPostProcessor【interface】:bean的后置处理器;
在bean初始化前后进行一些处理工作;
postProcessBeforeInitialization:在初始化之前工作
postProcessAfterInitialization:在初始化之后工作
的时候创建对象