bean的作用域:
在Spring中,可以在<bean>元素的scope属性里设置bean的作用域,以决定这个bean是单实例还是多实例。默认情况下。Spring只为每个IOC容器声明的bean创建唯一一个实例,整个IOC容器范围内都能共享该实例:所以后续的getBean() 调用和bean引用都将返回这个唯一的bean实例。该作用域被称为singleton,它是所有bean的默认作用域。
scope的参数类别及说明:
类别 | 说明 |
Singleton (IOC容器唯一Bean实例) | 在SpringIOC容器中仅存在唯一一个Bean实例,Bean以单实例的方式存在 |
proptotype (getBean 一个新实例) | 每次调用getBean()是都会返回一个新的实例 |
request(创建一个新的bean) | 没吃HTTP请求都会创建一个新的Bean,作用域仅适用于WebApplicationContext环境 |
session(一个会话中共享bean) | 同一个HTTP Session 共享一个Bean,不同的HTTP Session 使用不同的Bean。该作用域适用于WebApplicationContext环境 |