依赖注入及AOP简述(十)——Web开发中常用Scope简介 .
1.2. Web开发中常用Scope简介
这里主要介绍基于Servlet的Web开发中常用的Scope。
l 第一个比较常用的就是Application级Scope,通常我们会将一些贯穿整个EAR都会用到的常量定义、通用的服务组件、类似DBConnection连接创建等比较消耗资源的组件等等放到这个Scope中去。Application级Scope是与应用程序的ServletContext共存亡的,因此可以理解为所部署应用程序的ServletContext中的“单例Scope”。因此Seam中定义Application级Scope的方法就是前一节介绍的定义“单例”的方法。Spring、Guice框架有着类似的声明方式,在此不再赘述。
l 第二个非常常用的是Session级的Scope,通常我们会将诸如User的认证信息等对象储存在这个区域,它是与客户端(浏览器等)请求所创建的Session共存亡的。利用Seam框架可以做如下定义:
|
同样Spring、Guice框架有着类似的声明方式,在此不再赘述。
l 如果把所有数据都存放在Session区域,容易增大Server端服务的负荷,并且Session区域是线程不安全的,因为所有客户端的请求都可以访问到Session的数据并修改。因此开发者常常会需要一个以单次发送的请求即HttpRequest为单位的Scope。例如,我们的取款场景中,在一次处理请求中需要对这个存折依赖进行多次操作,比如首先有一个存折的Cheker类要对该存单进行Check,那么这个依赖就不能是每次都被new出来,而是在同一次请求中获取的都应是同一个对象,这就是典型的Request级Scope。
|
以Seam为例定义Request级Scope的存折依赖的方法如下:
|
相关文章
- ASP.NET Web Projects: web.debug.config & web.release.config
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
- 结合jquery的前后端加密解密 适用于WebApi的SQL注入过滤器 Web.config中customErrors异常信息配置 ife2018 零基础学院 day 4 ife2018 零基础学院 day 3 ife 零基础学院 day 2 ife 零基础学院 day 1 - 我为什么想学前端
- 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入
- 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式
- web安全day6:IIS之WEB服务器
- spring + groovy 实现动态代码注入执行
- Web系统常见安全漏洞介绍及解决方案-sql注入
- windows service宿主web api使用"依赖注入"和“控制反转”的技术实践
- web渗透测试----26、SQL注入漏洞--(1)原理篇
- web渗透测试----23、XML外部实体注入--(1)XXE原理
- 【Web漏洞探索】SQL注入漏洞
- HMS Core赋能移动金融,为行业注入增长新动力
- 记录注入
- Go Web:RESTful web service示例
- SwiftUI 编程能力提升之 为 Swift 构建一个灵活的依赖注入库
- CTF竞赛网络安全大赛(网鼎杯 )Web|sql注入java反序列化
- RequestMappingHandlerMapping的@Autowired无法注入问题
- WEB安全基础 - - -SQL注入
- Flutter Web实战项目打造真正跨平台应用(windows,android,ios,linux,macos,web)
- Web十大安全隐患之SQL注入
- Spring Mvc 公共Controller 使用拦截器注入请求信息
- Spring学习笔记(一)---注入方式
- DI,依赖注入,给对象赋值 ,get,set