博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Bean Scope (作用域)
阅读量:6419 次
发布时间:2019-06-23

本文共 1317 字,大约阅读时间需要 4 分钟。

singleton:

单例模式,针对每个spring容器,只有一个该类的实例被管理,每次调用此实例都是同一个对象被返回,所以适用于无状态bean。默认情况下,singleton作为spring容器中bean的作用域。

prototype:

针对每一次bean调用,注入或者程序中显式调用getBean(...)类似方法,都有一个新的对象被初始化后返回,所以适用于有状态bean。值得注意的是尽管初始化回调方法依然会被调用,但是声明为prototype的bean的“销毁”回调方法不会被容器调用。spring container初始装配之后将控制权交给客户代码,客户代码需要承担释放资源的责任。(spring 提供prototype资源的释放方案,BeanPostProcessors)。

request,session,global session:

以上三种顾名思义,作用域分别是http request级别,session级别。spring context需要是web实现(比如:XmlWebApplicationContext)。DispatcherServlet/DispatcherPortlet,RequestContextListener 或RequestContextFilter 负责将每个http request/session 绑定到负责相应这个请求的线程上,并使得声名为request/session作用域的bean在后续调用中可用。

spring mvc

rest
org.springframework.web.servlet.DispatcherServlet
1

servlet 2.4+

...
org.springframework.web.context.request.RequestContextListener
...

servlet 2.3

..
requestContextFilter
org.springframework.web.filter.RequestContextFilter
requestContextFilter
/*
...

 

refer to 

转载于:https://www.cnblogs.com/dylanw/p/3678629.html

你可能感兴趣的文章
TSS 任务状态段 详解
查看>>
【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin...
查看>>
【并查集】bzoj1015 [JSOI2008]星球大战starwar
查看>>
ehCache+spring的简单实用
查看>>
纯CSS3代码实现表格奇偶行异色,鼠标悬浮变色
查看>>
这一周吃什么呢?
查看>>
文本聚类
查看>>
spring mvc改造成spring boot
查看>>
【学习/模板】tarjan缩点
查看>>
multiprocessor(下)
查看>>
Pyinstaller打包程序为*.exe
查看>>
MyBatis配置详解
查看>>
css的再深入8(更新中···)
查看>>
安卓新导入工程中gen目录下无R文件解决方法
查看>>
POJ 2245 Addition Chains(算竞进阶习题)
查看>>
时间分割与获取一下阶段时间
查看>>
案例解析|从数据规划、业务分析到管理决策的数据治理方案
查看>>
Laravel Controllers
查看>>
iOS开发-清理缓存功能的实现
查看>>
iOSpush过后返回多级界面
查看>>