Spring bean的作用域
Bean的作用域
什么是 spring bean?
在 Spring 中,那些组成应用程序的主体及由 Spring IoC 容器所管理的对象,被称之为 bean 。简单地讲,bean 就是由 IoC 容器初始化、装配及管理的对象
类别 | 说明 |
---|---|
singleton(单例模式) | 在 Spring Ioc 容器中仅存在一个 Bean 实例,Bean 以单例方式存在,默认模式下即为单例 |
prototype(原型模式) | 每次从容器中调用Bean时,都返回一个新的实例,即每次调用 getBean() 时,相等于执行 new XxxBean() |
request(HTTP请求) | 每次HTTP请求都会创建一个新的Bean,该作用域仅适用于 WebApplicationContext 环境 |
session(会话) | 同一个 HTTP Session 共享一个 Bean,不同 Session 使用不同 Bean,仅适用于WebApplicationContext 环境 |
globalSession(全局会话) | 一般用于 Portlet 应用环境,该作用域仅适用于 WebApplicationContext 环境 |
几种作用域中,request、session作用域仅在基于web的应用中使用(不必关心你所采用的是什么web应用框架),只能用在基于 web的Spring ApplicationContext
环境。