Spring容器中的bean可以分为5个范围。所有范围的名称都是自说明的,但是为了避免混淆,还是让我们来解释一下:

1.       singleton:这种bean范围是默认的,这种范围确保不管接受到多少个请求,每个容器中只有一个bean的实例,单例的模式由bean factory自身来维护。

2.       prototype:原形范围与单例范围相反,为每一个bean请求提供一个实例。

3.       request:在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。

4.       Session:与请求范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。

5.       global-sessionglobal-sessionPortlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐