- new实例化;
- 可使用了
- 无引用时,GC回收♻️。
- 实例化Servlet对象;
- init初始化对象;
- 相应客户端请求service()(doGet()与doPost());
- destroy()终止/销毁。
- 实例化对象;
- 填充属性值及引用;
- 调用
BeanNameAware的setBeanName(String name)设置 bean 的 id; - 调用
BeanFactoryAware的setBeanFactory(BeanFactory beanFactory)设置BeanFactoryBean工厂; - 同上:
ApplicationContextAwaresetApplicationContext(ApplicationContext applicationContext); - 如果实现
BeanPostProcessor,则 调用 postProcessBeforeInitialization() 初始化前的后置处理方法 - 如果实现了
InitializingBean接口,则使用afterPropertiesSet()来初始化属性 - 如果实现
BeanPostProcessor,则 调用 postProcessAfterInitialization() 初始化后的后置处理方法 - 此时,bean 就可以使用了
DisposableBean接口destroy()销毁bean。不过在Spring5.0开始,DisposableBean.destroy() 已经是过时的方法了,可直接使用 close()。