Spring Bean的作用域之间有什么区别?
2016-07-31 10:01
288 查看
Spring容器中的bean可以分为5个范围。所有范围的名称都是自说明的,但是为了避免混淆,还是让我们来解释一下:
1. singleton:这种bean范围是默认的,这种范围确保不管接受到多少个请求,每个容器中只有一个bean的实例,单例的模式由bean
factory自身来维护。
2. prototype:原形范围与单例范围相反,为每一个bean请求提供一个实例。
3. request:在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。
4. Session:与请求范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
5. global-session:global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。
1. singleton:这种bean范围是默认的,这种范围确保不管接受到多少个请求,每个容器中只有一个bean的实例,单例的模式由bean
factory自身来维护。
2. prototype:原形范围与单例范围相反,为每一个bean请求提供一个实例。
3. request:在请求bean范围内会每一个来自客户端的网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。
4. Session:与请求范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
5. global-session:global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。
相关文章推荐
- spring的userBean的作用域有哪些,分别是什么,区别又是什么?
- Spring中Bean的命名问题及ref和idref之间的区别
- Spring中的beanFactory和ApplicationContext的有什么区别和关联
- Spring中Bean的命名问题及ref和idref之间的区别
- 讨论一个专业的问题,spring版本之间有什么区别?怎么选择版本
- Spring -- Bean自己主动装配&Bean之间关系&Bean的作用域
- Spring知识整理(三)Spring之Bean之间的关系,Bean的作用域,Bean的生命周期
- spring中bean的作用域single与prototype区别
- bean之间的复制!BeanUtils.copyProperties、set、BeanCopier还有spring中的BeanUtils.copyProperties之间的区别
- Spring中获取配置文件中getBean,有2中方式,beanFactory和application,俩者之间的区别
- Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
- bean之间的复制!BeanUtils.copyProperties、set、BeanCopier还有spring中的BeanUtils.copyProperties之间的区别
- [原创]java WEB学习笔记99:Spring学习---Spring Bean配置:自动装配,配置bean之间的关系(继承/依赖),bean的作用域(singleton,prototype,web环境作用域),使用外部属性文件
- Spring初学之bean之间的关系和bean的作用域
- spring bean的作用域之间有什么区别
- Spring 学习笔记(五)—— Bean之间的关系、作用域、自动装配
- Spring 中@NotNull, @NotEmpty和@NotBlank之间的区别是什么?
- Spring中Bean的命名问题及ref和idref之间的区别
- Spring -- Bean自动装配&Bean之间关系&Bean的作用域
- [JAVA][Spring]Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别