Bean的作用域:
1.singleton :单例 每个Bean中只有一个,Spring 只会为每一个bean创建一个实例,并保持bean的引用 。Spring的scope的默认值是singleton
2.prototype作用域:每次请求(每次使用)都会创建一个实例 destroy方式不生效
3.request作用域:HTTP request表示该针对每一次HTTP请求都会产生一个新的bean,仅适用于WebApplicationContext环境
4.session作用域:
HTTP session表示该针对每一次HTTP请求都会产生一个新的bean,当前session有效,仅适用于WebApplicationContext环境。
5.globalSession:在一个全局的HTTP Session中,一个bean定义对应一个实例。典型情况下,仅在使用portlet context的时候有效。该作用域仅在基于web的Spring ApplicationContext情形下有效。
Bean的生命周期
1.定义(实例化) :在配置文件中配合定义Dean,在加载启动时创建对象
2.初始化:加载xml配置文件获取 context ,对实例化的对象属性进行赋值注入
3.使用:获取Bean实调用其中的方法
4.销毁:在bean容器销毁时,销毁这个Bean容器中的Bean
Bean初始化方式和销毁
通过实现 InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;
通过 <bean> 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法;