概述
Scope如果是Prototype,不管是不是同一个线程,只要是getBean就会得到一个新的实例。
Request作用域,把实例存储到request对象
Session作用域,把实例存储到session对象中,request和session作用域只会在web环境中才会存在。
Bean的销毁
Bean创建完成之后就会对这个bean注册一个销毁的Adapter对象
registerDisposableBeanIfNecessary(beanName, bean, mbd);
DIsposableBeanAdapter对象就是负责bean销毁的类,在这个类中收集了bean是否实现了DisposableBean接口,是否配置了destroy-method属性等
Bean的销毁是在tomcat关闭的时候调用servlet中的销毁方法
@Override
public void contextDestroyed(ServletContextEvent event){
closeWebApplicationContext(event.getServletContext());
...
}