ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:414.50KB ,
资源ID:2103364      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-2103364.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(开源框架Spring快速开发J2EE Web应用一个案例研究-外文翻译.doc)为本站会员(文初)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

开源框架Spring快速开发J2EE Web应用一个案例研究-外文翻译.doc

1、毕业设计(论文)外文文献翻译开源框架 Spring 快速开发 J2EE Web 应用:一个案例研究 1摘要:在 Web 应用程序开发的高度竞争的舞台,开发应用程序,准确地说,是很重要的。在经济上,也追求尽可能的高效。提高工作效率的一种方法是减少复杂性。这是程序员开发 Java 2 Platform,Enterprise Edition(J2EE)web 应用程序最近的一次改变。改变的重点是如何创建 j2EE 兼容的软件,而没有使用 Enterprise Java bean(EJB)。最主要的选择是使用 Spring 框架,它提供较少的服务,但它的侵入性比 EJB 少得多。这种转变背后的推动力量

2、是需求更大的生产力并开发和实现出复杂的 web 应用程序领域的软件。在本文中,我们简要描述 Spring 的底层架构和使用一个案例来研究使用 Spring。引言:由于软件的体系结构的基本性质,体系结构的选择通常会比任何其他个人方面(1)更大的影响软件的开发效率。提高工作效率的最佳方法之一是找到最简单的架构,满足客户的需求,同时还提供所需的 J2EE 体系结构的需求。任何 J2EE 应用程序的核心构件是表示层( 用户界面 ,界面层),业务逻辑层(中间层) 和数据访问层(企业信息系统、EIS 层)。这三层需要实现的最低限度必须考虑到 J2EE 能够兼容的,许多系统还包括一个持久层 ,作为业务服务层

3、的一部分。EJB 体系结构:本地 EJB 体系结构如图 1 所示。正如前面提到的,并给出了三层:用户界面层、中间层和 EIS 层。UI 层通常是由一个模型-视图-控制器 (MVC)框架。业务层是“business methods”所提供的接口 ,web 层对象可以直接访问,而不必使用 EJB api。业务对象是本地接口的无状态会话的 bean 类,EJB 容器内运行,并将提供事务管理、线程管理和基于权限安全。所有数据访问将通过实体的 bean 类的“classic”J2EE 体系结构。委托容器管理的永续性对于实体 bean 类来说,被认为是最好的选择。Java 事务 API(JTA)通过 EJ

4、B容器提供了事务协调来访问 EIS 层。轻量级容器体系结构:如图 2 所示,轻量级容器也使用 MVC 框架来实现 web 层。Spring 框架可以用专用的 Web 框架如 Struts 或 WebWork,也可以由轻量级容器管理使业务紧密结合。所有的业务对象是普通 Java 对象 (POJO)内部的轻量级容器运行。轻量级容器提供企业服务,1 作者:John Arthur,Shiva Azadegan出处:CScience Applications International年月:2012.10即通过调用一个 AspectOriented 编程(AOP)拦截器。这种方式可以在执行之前或者之后的

5、行为的时候清楚地编译出另一种业务方法 1。因为轻量级容器依靠 AOP 拦截器,而不需要取决于容器的 API,因此,他们在任何容器是有用的。为得出最好的结果,业务对象应该只访问他们自身的接口。数据访问可以使用 JDBC或一个轻量级的对象/关系(O / R)映射层提供透明的持久性。 EIS 层与本地 EJB EIS 层是相同的。图 1 本地 EJB 架构展示这三个核心构建块(1)Spring 框架:为了实现 Web 应用程序的准确性的目标,在经济和高效上,更重要的目的: 简单性、可测试性和可移植性。更简单的是开发和维护的代码,从长远来看更具有成本效益的项目。EJB 是非常复杂的,需要一个 EJB

6、容器,转化为需要高端应用程序服务器。应用程序服务器的必要性也增加了管理的复杂性使用 EJBs 2。轻量级容器只需要一个 servlet 引擎,这也解决了可移植性的问题。EJB 是专门为 EJB 容器和依赖 EJB 接口而编写的。由于轻量级容器的非侵入性,业务对象设计出一种轻量级容器,使其可以运行在容器中。业务逻辑 EJB 很难测试的,因为实现类依赖 EJB 容器。这不试试在轻量级框架,由于业务对象是 POJO。POJO 的易于单元测试以外的应用程序服务器,甚至可以将 JUnit协助与测试。最终的决定因素是个人;作者第一次学会实现过去的 EJB 架构,一直觉得很疑惑和犹豫。使用 Spring 框

7、架后不到一个星期,它很容易就实现了一些相当复杂的功能,它从来没有能够使用 EJBs,Spring 框架显得更加直观。图 2 EJB 轻量级容器图解- 实现 web 层的 MVC 框架(1)Spring 框架是如何提供必要的基础技术却没有 EJB 的复杂性? 关键是类型的控制反转(IoC)在 Spring 框架实现。控制反转的概念很容易被认为是好莱坞原则:“别给我们打电话,我们会给你打电话” 3。 “别叫我们,我们会给你打电话 ”3。有两种主要类型的 IoC:依赖查找和依赖注入,如下图 3 所示。依赖查找容器为组件提供回调,并查找上下文。因此每个组件使用容器 api 查找资源。EJB 使用 Io

8、C 的依赖查找形式,管理对象是负责自行查找。 “依赖注入的配置的基本原则是:应用程序对象不应负责查找资源或它们所依赖的。相反,一个 IoC 容器应该配置对象,外化资源从应用程序代码中查找到容器中。(1)”容器完全负责依赖查找和不依赖于特殊容器的 API 或接口。查找完整地应用程序代码,容器外的对象很容易使用,不需要特殊的接口。有两种风格的依赖注入:Setter 注入和构造函数注入: 通过 JavaBean 属性 Setter Injectionexpresses 依赖性。 setter 方法被调用的对象是由容器实例化后,在处理任何业务的方法,因此,没有线程有关的属性问题。不再有任何需要异常处理

9、,容器可以处理configuration-time 错误。构造函数注入组件通过构造函数参数表达依赖性。Spring 框架提供了支持 Setter 依赖注入和构造函数依赖注入。有许多 Setter 依赖注入的示范项目。图 3 控制反转的层次结构(1)Spring 可以作为业务逻辑的核心或者说是中间层,J2EE 应用程序。Spring 提供了一个 web 应用程序上下文的概念,一个强大的轻量级 IoC 容器,无缝地适应网络环境。它可以从任何类型的访问 web 层,无论是 Struts,网络系统,Tapestry,JSF,Spring web MVC,或一个自定义解决方案 3。Spring 框架的业

10、务服务层作为示范项目。与 Struts 和 JSF 整合后,Spring 的 web MVC 实现表示层。Spring 的 MVC 被发现比 Struts 或 JSF 更直观。EIS 层是由一个 MySQL 数据库表示。架构上最后一步是决定如何实现数据访问对象和数据持久性。深入研究后,他们发现 Hibernate O / R 映射工具是相对稳定的,强烈支持由 Spring 框架,和 Xdoclet 支持面向属性的编程( 在文本后面会详细解释)。其他使用Hibernate 的好处是,它是非常直观的 ,肤浅的学习曲线以及有自己的 Hibernate 查询语言 5。开发环境:我们研究了大量的工具来辅

11、助开发,使用 Eclipse IDE 是因为它是开源的,且非常适合团队开发,Eclips 还集成了其他三个项目需要使用的工具。自动构建工具 ANT,是开源和广泛支持。它被集成到 Eclipse IDE 和允许构建一致的步骤。因为这个开发环境是有针对性的开发团队,而不是个人发展的开发商,SourceForge 账户注册主机应用程序来开发。对一些版本控制工具进行了研究,包括 SourceSafe,Subversion,CVS。Subversion被发现是一个很好的版本控制工具,但它并没有受到广泛支持,在很长的时间内,它需要一些额外的插件来使用 Eclipse。CVS 是用作控制版本控制工具。虽然没

12、有必要将这个单人项目的持续集成构建器,CruiseControl 是构建在所有项目的制作位置。CruiseControl 允许开发人员几乎立即确定构建问题,因为它是自动的,免费的开发者。使用 Maven 自动生成项目管理网站。最后 ,使用 Tomcat servlet 容器。展示不同的 Spring 框架的功能,基本灵活的,问题跟踪系统的创建。有应用程序称为 AppFuse kickstarts“Spring web 应用程序开发。AppFuse 特性包括容器管理认证(CMA),识别自己, 自注册,密码提示,GZip 压缩。XDoclet AppFuse 也支持 Ant,Spring,Hibe

13、rnate 或 iBATIS,JUnit,Cactus,StrutsTestCase,Canoo WebTest,Struts Menu,Display Tag Library, OSCache, JSTL and Struts (or Spring MVC) 4。Spring 的基础控制反转特性是在 SpringBeanFactoryand ApplicationContext 找到。“BeanFactoryprovides 高级配置机制能够管理 bean 任何性质的,可能使用任何类型的存储设备(3)。 ”ApplicationContext 之上构建 BeanFactoryand 添加其他

14、功能。BeanFactoryprovides 配置框架和基本功能,ApplicationContextadds 增强,他们中的一些人也许更适合 J2EE 和 enterprise-centric。一个完整的超集 BeanFactory ApplicationContextis。下面是一个简单的例子 action-servlet.xml 文件的演示程序,是整个ApplicationContext 的一部分。projectStatuscom.panogenesis.model.ProjectStatusprojectStatusFormprojectStatuses.htmlbean 是一个 id

15、 和绑定到一个类。每个属性需要访问 bean 的定义使用标记。尽管 MessageSource ApplicationContextalso 提供消息传递功能,对资源的访问,通过ApplicationEvent 类 andApplicationListernerinterface 事件传值,并加载多个上下文。自使用 Spring 框架和 EJB 的主要区别在于业务层,这是我们将集中的区域。第一步是创建业务对象使用普通 Java 对象(POJO)。这个问题类的对象将包含基本信息被跟踪的问题。这包括一个独特的标识符,所有者 id,和 id 作者的描述,属于哪个项目,涉及哪些组件,集合相关的历史,等

16、等。由于我们将使用 Hibernate 作为我们为我们的持久层对象/关系映射器,我们可以一举两得。通过使用面向属性的编程,我们可以定义的 Hibernate属性问题直接类问题通过使用 Xdoclet 标记类的源代码。这包括定义协议与其他对象和集合。这些 Xdoclet 标记用于生成. hbm 。为每个类,保存 xml 文件。接着,我们创建数据库连接对象(Dao) 。Spring 是全部的接口,所以我们必须创建一个 Dao 类。由于我们使用 Hibernate,延长 BaseDAOHibernateobject。DAOImpl 对象包含所有从数据源检索数据的代码。现在 DAO 对象已经创建,我们

17、线成 Spring 框架。这是非常简单的,需要做的就是添加 issueDAO applicationContext。xml 并将其绑定到IssueDAOHibernate 对象在以下方式:在 SpringBean 创建一个 issuedaohibernate 类,并命名为 issueDAO, 。目标对象必须映射到 Hibernate 会话工厂。下面是一个示例问题对象的映射。com/panogenesis/model/Issue.hbm.xml. HIBERNATE-DIALECT这个映射允许 Hibernate 对象通过 Hibernate 接口访问问题 ,创建并允许 Spring 访问Ses

18、sionFactory bean。接下来,我们创建实际的业务逻辑对象,或管理对象。这些管理类们用来分离业务服务层与持久层的 DAO 接口。没有引用任何特定持久性策略的管理接口,它允许一个轻松地更改持久化水平到另一个 O / R 映射器或工具如 ObjectRelation 桥(OJB)或本机JDBC。这也是处理声明和 AOP 拦截器的第一个示例演示代码。PROPAGATION_REQUIRED PROPAGATION_REQUIREDPROPAGATION_REQUIRED,readOnly该 txProxyTemplate 使用 AOP 拦截处理事务,这是一个txproxytemplatei

19、ssuemanager 为目标 issuemanagerimpl 的子类。Spring AOP 的另一个例子是 admin 拦截器处理的方式。它还演示了“access to resources”ApplicationContext 的功能。filenameControllerprojectControllerprojectFormControllerissueResolutionControllercomponentFormControllerprojectVersionFormControlleradmin在上面代码中,ApplicationContext 定义了 url 映射应该只管理角色

20、的用户访问。它通过设置所有的页面来访问管理员的映射属性。拦截器被定义为一个属性和adminInterceptor 已经添加到拦截器的引用列表。然后 adminInterceptor Spring bean 定义的拦截 authorizedRoles 值被设置为 “admin”。使用 AOP 安全性和事务管理的一种方法,Spring 地址所需的功能是无需使用 EJB 的。同时,每一个 Spring 对象,到现在为止,我们已经创建了不依赖于容器的每一个 Spring 对象。因此,它可以很容易地使用 JUnit 单元测试。不同的 EJB 对象反过来限制实行规范的面向对象设计 EJB 组件模型的约束,

21、较少了限制对象增加了面向对象实现更大的能力。结论:总之,轻量级容器 Spring 框架等有着他们的一定优势,在大多数情况下,h 会使用EjB。Spring 框架允许我们自由使用应用程序服务器,具有一定的必要性。这降低了复杂性应用服务器管理和允许更大的可移植性,因为 Spring 只需要一个 servlet 容器。使用 Spring 也增加了潜在的代码重用同样的原因,编写的代码到 EJB API 只会下运行 EJB容器。同时需要 EJB 的 EJB 容器对象测试 EJB 对象的难度大大增加。使用 Spring 框架,容器外部的对象很容易测试,大大节省时间和减少测试的复杂性。最后,Spring 框

22、架的非侵入性的 AOP 由于依赖注入模式。这将应用程序代码的依赖最小化 ,进而提高生产率,最大化代码重用的机会,提高可测试性 1。参考文献: 1 Johnson R, Hoeller J, Expert One-on-One J2EE Development Without EJB. 2004,Indianapolis: Wiley Publishing Inc, online book, chunkid=129744793.2 Raible M. Spring Live. 2004, Colorado: SourceBeat Publishing, online book. 3 Johnson R, Hoeller J, Arendsen A, Spring: java/j2ee application framewokreference documentation version 1.2004: available online4 Raible M. Matt Raibles Appfuse Wiki Site. http:/ Hibernate: Hibernate Reference Manual version 2.1.6, 2004

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。