参考链接:
总结——》【Java】
总结——》【Spring】
在 Spring 官方文档中,共提到了7种不同的Bean作用域,分别是:
- singleton(默认)
- prototype
- request
- session
- globalSession
- application
- websocket
注意:
前两种是Spring中bean的基本作用域
后五种算是扩展的作用域,只能在web应用中使用
1、singleton:默认
每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。
2、prototype
为每一个bean请求提供一个实例。
3、request
为每一个网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。
4、session
与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
5、globalSession
全局作用域,global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。全局作用域与Servlet中的session作用域效果相同。