spring框架与aop思想的研究与应用

spring框架与aop思想的研究与应用

ID:25320913

大小:63.00 KB

页数:10页

时间:2018-11-19

spring框架与aop思想的研究与应用_第1页
spring框架与aop思想的研究与应用_第2页
spring框架与aop思想的研究与应用_第3页
spring框架与aop思想的研究与应用_第4页
spring框架与aop思想的研究与应用_第5页
资源描述:

《spring框架与aop思想的研究与应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Spring框架与AOP思想的研究与应用摘要本文对Spring框架中所包含的AOP思想以及事务管理进行了分析,并通过对一个业务对象实现加锁/解锁的操作,说明了动态代理模式的可行性与有效性。关键词AOP;横切关注点;控制反转;动态代理0引言AspectOrientedProgramming(AOP)是近年来计算机技术中比较热门的话题之一。其发展历史从学术领域和研发机构的运用开始,目前流行的Spring应用程序框架将AOP思想融入了整个框架的设计开发与应用当中。使用Spring框架固然给我们的编程带来了好处与便利,但是同时存在着一个问题

2、,对于初学者来说,所谓的“控制反转”,不是一个能够望文生义的好名称,“依赖注入”也是一样,也正是因为这样,不少初学者很难在短时间内理解和掌握这些名字和他们的用法,而要使用AOP的功能也需要理解AOP,也比较难。基于以上原因,我们就会想到,能否简单地将Spring框架中运用到的优秀的理念,巧妙的运用到我们需要使用的地方,而又绕过不容易上手的Spring框架,做到一举两得呢?本文就将围绕着上述提出的问题给出作者的看法和观点。1AOP思想与面向方面的编程AOP实际是GoF四人组设计模式的一种扩展,设计模式所追求的是降低代码之间的耦合度,增

3、加程序的灵活性和可重用性,AOP实际上就是设计模式所追求的目标的一种实现。所谓的分离关注就是将某一通用的需求功能从不相关的类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要修改这个行为就可以。AOP就是这种实现分散关注的编程方法,它将“关注”封装在“方面”中。面向对象的编程(OOP)方法是在面向过程的编程方法基础上进行的改进,而面向方面编程(AOP)方法又是在面向对象编程(OOP)方法的基础上进行改进而来的一种创新的软件开发方法。AOP和OOP虽然在字面上十分相似,但是却是面向不同领域的两种设计

4、思想。OOP(面向对象编程)针对问题领域中以及业务处理过程中存在的实体及其属性和操作进行抽象和封装,面向对象的核心概念是纵向结构的,其目的是获得更加清晰高效的逻辑单元划分;而AOP则是针对业务处理过程中的切面进行提取,例如,某一个操作在各个模块中都有涉及,这个操作就可以看成“横切”存在于系统当中。在许多情况下,这些操作都是与业务逻辑相关性不强或者不属于逻辑操作的必须部分,而面向对象的方法很难对这种情况做出处理。AOP则将这些操作与业务逻辑分离,使程序员在编写程序时可以专注于业务逻辑的处理,而利用AOP将贯穿于各个模块间的横切关注点自

5、动耦合进来。AOP所面对的是处理过程中的某个步骤或阶段,对不同的阶段领域加以隔离,已获得逻辑过程中各部分之间低耦合性的隔离效果,其与面向方面编程在目标上有着本质的差异。AOP的核心思想就是将应用程序中的业务逻辑处理部分同对其提供支持的通用服务,即所谓的“横切关注点”进行分离,这些“横切关注点”贯穿了程序中的多个纵向模块的需求。使用AOP机制进行开发,首先要对方面进行了解,将需求分解成一般关注点和横切关注点,即将核心模块级的关注点和系统级的横切关注点分离;然后各自独立的实现这些关注点;最后用工具将业务逻辑代码和横切关注点代码编织到一起

6、,形成最终的程序。通过面向方面的编程可以减少编码时间和重复。2.目前已经形成的Spring框架2.1Spring框架的特点Spring框架目前如此流行,一方面的原因在于Spring提供了一套全面并且十分成熟的轻型应用程序基本框架,并且对复杂的应用开发提供了有力的支持。除此之外,从实际应用开发角度来看,Spring最大的优势在于它是从实际项目开发经验中抽取的,其提供了丰富的类库,可大大节省编码量,它是一种高效的、可高度重用的应用框架。Spring框架中目前最吸引人也是该应用框架最具特色的地方就是名为控制反转(IOC=InverseOf

7、Control)或者依赖注入(DI=DependenceInjection)的设计思想,这是一种相当优秀的设计思想,即“好莱坞”原则:不用你主动来找我,我会通知你。但是,仅仅凭借着这样一个单纯的设计模式并不能使得Spring如此成功,Spring最成功的地方,还是目前使用最为广泛的AOP应用,也就是Spring中基于AOP实现的业务管理机制,也正是由于这一点,使得SpringAOP成为应用框架中极其闪光的一个亮点。2.2AOP思想在Spring框架中的体现文章前面已经讲述了AOP的概念以及什么叫做所谓的“横切”关注点,事务管理就是J

8、2EE应用中一个横切多个对象的横切关注点的例子。2.2.1事务管理对于J2EE应用程序而言,事务的处理一般有两种模式:依赖特定事务资源的事务处理与依赖容器的参数化事务管理。在这里我们略去对第一种处理方式的说明,直接对第二种方式,即依赖

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。