Spring应用 Spring应用

Spring应用

  • 期刊名字:电脑知识与技术
  • 文件大小:287kb
  • 论文作者:王安庆
  • 作者单位:文思创新软件技术有限公司上海分公司
  • 更新时间:2020-06-12
  • 下载次数:
论文简介

IsN1009-3044E-mail:xsl@cccc.net.cnComputer Knowledge and Technology电脑知识与技术http://www.dnzs.net.cnVol7. No 26. September 2011Tel:+86-551-56909635690964Spring应用王安庆(文思创新软件技术有限公司上海分公司,上海201112)摘要: Spring为企业应用开发提供了一个轻量级的解决方案,它是一个优秀的Wb架构。该文简要介绍了 Spring的概况和优势,重点介绍了 Spring的应用,其中包括 Spring的依赖注入核心机制、面向切面编程、事物管理以及 Spring在Wh中的MVC应用。关键词: Spring;依赖注入;AOP;Mvc中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)26-6453021 Spring的概述pring是为解决企业应用程序开发复杂性而创建的减小了程序开发的复杂度。 Spring不仅为开发者提供了一个优秀的框架也为开发者提供了良好的设计和大量可供参考的源代码。它不仅可以应用于服务器端的开发,也可应用于客户端的开发。 Spring也可以作为一个中间件,它可以独立于各种服务器,甚至不需要应用服务器的支持,也能提供服务器的功能,如声明式事物。 Spring简单化了JDBC的使用,它可以用来管理所有的业务对象,它的设计从底部帮助你编写易于测试的代码,这就大大提高了程序员开发软件的效率。 Spring是对JEE思想进一步改造和扩充使其发展成更开放清晰、全面高效的开发框架2 Spring的优势Spring所耗费的系统资源开销是比较少的,它的很多优势是值得肯定。 Spring的优势在于以下几个方面:低侵人式设计,代码的污染率低。它可以独立于各种应用服务器。 Spring的依赖注入机制降低了业务对象替换的复杂性。 Spring的高度开放性,并不强制应用完全依赖于 Spring.开发者可自由选用 Spring框架的部分或全部。 Spring可以和其他框架良好的结合,如 hibernate, struts等,使得应用程序开发吏容易3 Spring的应用31 Spring中的基本设计思想Spring实现了两种基本设计模式,即工厂模式和单态模式。Spring容器是实例化和管理所有bean的工厂。 Spring使调用者只关心被调用者必须满足的某种规则接口),而不必关心实例的具体实现过程,具体的实现过程由ban工厂完成。调用者只关心工厂实例实现某个接口,是否可供自己正常调用。该模式提供各对象之间清晰的角色划分,降低程序的耦合。Spring默认所有bean设置成单态模式即对所有id的ban的请求都将返回同一个共享实例。单态模式大大降低Java对象创建和销毁时的系统开销。单态模式设计可以保证只有一个实例,并提供实例的全局访问点。比如,数据库引擎访问点只能有一个。使用单态模式可避免Java类的频繁实例化,让相同类的全部实例共享同一内存区。32 Spring的核心机制趣 Spring框架提供了很多功能这些功能能够很好的组合在一起就是因为它使用了控制反转技术。控制反转就是由容器来控制中各个类之间的关系,控制权由代码转到外部容器而不是传统中的直接有程序代码操控。原先的程序设计中,我们通常是通过创建一个类对象来调用这个类中的方法,这样在程序中就有大量创建类对象的代码。这些代码要不仅需要程序员手工编写,也不容易管理。 Spring的控制反转技术就很好的解决了这个问题。所有的对象全部交给 Spring容器管理,当程序需要对应的类对象时,我们就直接去 Spring容器中获取。当采用控制反转技术时,对象就会将对某些特性及方面的控制转到框架或环境。对象创建和对象定位的职责从类转移到框架,这种依赖关系就是依赖注入。依赖注入是控制反转一个具体实例。依赖注人是 Spring的核心机制。依赖注入让bean和bean之间以配置文件组织在一起,而不是以硬编码的方式耦合在一起。依赖注入的目标是为了提升组件重用的概率,为系统搭建一个灵活、可扩展的平台。33 Spring对AOP的支持AOP(Aspect Oriented Programming),即面向切面的程序设计,也称为面向方面的程序设计。 Spring中提供内置AOP支持。AOP为开发者提供了一种基于关注点进行软件设计的新思想,是对0oP( Object Oriented Programming)面向对象编程模型的一种扩展。利用AOP编程,开发人员可以将复杂的系统看作多个关注点组合在一起实现的。比如:一个系统通常包括业务逻辑、日志、安全等方面的关注点,开发人员可以分别实现系统所需要的业务逻辑,最后将这些实现组合在一起,构建完整的系统。中国煤化工CNMHG收稿日期:2011-08-01作者简介:王安庆(1982-),男,河南人,主要从事软件工程师工作。谢媛媛.:.··x软件计开发··6453Computer Knowledge and Technology电脑知识与技术第7卷第26期(2011年9月)简单的说,AOP将那些与业务无关却为业务模块所共同调用的逻辑或责任封装起来便于减少系统的重复代码降低模块间的耦合度,方便将来的可维护性和可操作性。比如,日志散布在所有对象的层次中,而它却与散布对象的核心功能无关。34 Spring的事务管理Spring封装了所有对事务处理的功能包括事务的回滚、提交等。这大大减少了程序员的代码量,也有利于事务的管理。读数据不需要为其指定事务,而数据的插入修改删除就需要事务管理了。对于依赖容器的参数化事务管理 Spring起到很大的作用。 Spring的事务管理是基于动态AOP,AOP技术实现的事务管理实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加人事务管理,执行完目标方法后根据执行情况进行提交或回滾事务。 Spring可以将 Java Class纳入事务管理。通过Spring,我们实现简单的事务配置,就可以为某个类的某个方法制定事务管理机制。 Spring事务管理并不依赖特定的事务资源。 Spring的事务管理支持JDBC等多种事务资源,这为我们提供了多种选择。3 5 Spring Web中的MVc应用MVC是 Model-vew- Controller(模型-视图-控制器)的简称。它把一个应用的输入、处理、输出流程按照 Model, view controller的方式分成三层(模型层、视图层控制器层)。视图用来显示和用户交互的贞面模型用来表示企业数据和业务逻辑控制器是负责页面的跳转,并且从客户端接受请求执行相应的业务逻辑然后把响应结果输出到页面上。MVC的好处就是将业务层和视图层分离,三层各司其职,一旦那一层发生变化,只需要修改相应层中的代码。Spring框架提供了构建Web应用程序的全功能MvC模块。 Spring的 Web mvc框架是围绕分发器 DispatcherServlet设计的。Spring MVC会把所有的请求都提交给 DispatcherServlet,当 DispatcherServlet接收到请求时,它会查找适当的处理程序来处理请求。处理程序映射 Handler Mapping负责为请求返回一个适当的处理程序。 DispatcherServlet查询一个或多个处理程序映射Handler Mapping, HandlerMapping将web请求映射到正确的处理程序( handler),也就是找到处理请求的控制器 Controller( Spring MVC中用来处理web请求最典型的处理程序就是控制器 Controller)) DispatcherServlet:将请求提交到目标控制器 Controller, Controller进行业务处理后,会返回一↑ ModelAndview(模型和视图的基本类)。 DispatcherServlet查询一个或多↑ View Resolver视图解析器,找到 ModelAndⅤiew对象指定的视图对象。视图对象负责将模型属性返回给客户端,视图对象的任务就是将模型属性展示给用户。MvC实现的可扩展性很强, Spring框架可以很容易的和 Struts, Hibernate结合起来 Spring充当了管理容器的角色。 Hibernate用来做持久层,方便了与数据库的交互。 Struts用来做应用层,负责调用业务逻辑层。 Spring框架就可以管理 Struts中的 Action对象和业务逻辑类,实现了层与层之间的分离程序的执行效率就更高维护更方便。4小结Spring是一个开源的项目,它广泛应用于大中型项目。 Spring提供了一个灵活和可扩展的MVC实现,它在依赖注入、事务管理等方面都很优秀。 Spring在项目中的应用,使应用程序更简单,更容易测试,更容易管理,有利于为开发者提供简单、有效的解决方案参考文献:[]李刚 Spring2.0宝典M]北京:电子工业出版社,200[2]Lads, Davison D, Devijver S,etl深人解析 Spring MVC与 Web FlowM]北京:人民邮电出版社2008[3 Tate B A, Gehtland J. Spring程序高手秘笈[M南京:东南大学出版社,2007.中国煤化工CNMHG645分数舱件量计开…本栏目任编:谢媛媛

论文截图
上一条:导数的应用
下一条:ECDIS的应用
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。