用spring aop实现松散耦合

用spring aop实现松散耦合

ID:15848963

大小:37.50 KB

页数:4页

时间:2018-08-06

用spring aop实现松散耦合_第1页
用spring aop实现松散耦合_第2页
用spring aop实现松散耦合_第3页
用spring aop实现松散耦合_第4页
资源描述:

《用spring aop实现松散耦合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用SpringAOP实现松散耦合摘要面向方面编程(AOP)是面向对象编程(OOP)的一种扩展技术,能够很好的解决横切关注点问题以及相关的设计难题来实现松散耦合。SpringAOP是AOP技术的一种实现。本文介绍了AOP概念,然后详细讨论了如何利用SpringAOP开发AOP程序,最后展望了SpringAOP的前景。关键词AOPSpringAOPJava1引言AOP(AspectedOrientedProgramming)是一种新兴的编程技术。它可以解决OOP和过程化方法不能够很好解决的横切(crosscut)问题,如:事务、安全、日志等横切关注。

2、当未来系统变得越来越复杂,横切关注点就成为一个打问题的时候,AOP就可以很轻松的解决横切关注点这个问题,使得AOP编程成为。Spring是基于J2EE的轻量级开源开发框架,其中SpringAOP组件实现了面向方面编程。2AOP概述面向方面编程(AOP)提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。面向对象将应用程序分解成各个层次的对象,而AOP将程序分解成各个方面或者说关注点。这使得可以模块化诸如事务管理等这些横切多个对象的关注点。2.1AOP基本概念方面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务

3、管理是J2EE应用中一个很好的横切关注点例子。方面用Spring的Advisor或拦截器实现。连接点(Joinpoint):程序执行过程中明确的点,如方法的调用或特定的异常被抛出。通知(Advice):在特定的连接点,AOP框架执行的动作。各种类型的通知包括“around”、“before”和“throws”通知。通知类型将在下面讨论。许多AOP框架包括Spring都是以拦截器做通知模型,维护一个“围绕”连接点的拦截器链。切入点(Pointcut):指定一个通知将被引发的一系列连接点的集合。AOP框架必须允许开发者指定切入点:例如,使用正则表达式

4、。引入(Introduction):添加方法或字段到被通知的类。Spring允许引入新的接口到任何被通知的对象。例如,你可以使用一个引入使任何对象实现IsModified接口,来简化缓存。目标对象(TargetObject):包含连接点的对象。也被称作被通知或被代理对象。AOP代理(AOPProxy):AOP框架创建的对象,包含通知。在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。织入(Weaving):组装方面来创建一个被通知对象。这可以在编译时完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯J

5、avaAOP框架一样,在运行时完成织入。3SpringAOP介绍Spring的一个关键组件就是AOP框架。SpringIoC容器(BeanFactory和ApplicationContext)并不依赖于AOP,这意味着如果你不需要使用,AOP可以不用,AOP完善了SpringIoC,使之成为一个有效的中间件解决方案。SpringAOP是Spring框架的重要组成部分,它实现了AOP联盟约定的接口。SpringAOP是由纯Java开发完成的。SpringAOP只实现了方法级别的连接点,在J2EE应用中,AOP拦截到方法级的操作已经足够。OOP倡导的

6、是基于setter/getter的方法访问,而非直接访问域,而Spring有足够理由仅仅提供方法级的连接点。为了使控制反转(IoC)很方便的使用到非常健壮、灵活的企业服务,则需要SpringAOP的实现。SpringAOP在运行时才创建Advice对象。SpringAOP的优点如下:允许开发者使用声明式企业服务,比如事务服务、安全性服务。开发者可以开发满足业务需求的自定义方面。开发SpringAOPAdvice很方便,可以借助代理类快速搭建SpringAOP应用。4使用SpringAOP松散耦合4.1创建通知为实现AOP,开发者需要开发AOP通知

7、(Advice)。AOP通知(Advice)包含了方面(Aspect)的逻辑。当创建一个Advice对象的时候,你就编写了实现横切(cross-cutting)功能。Spring的连接点是用方法拦截器实现的,这就意味着你编写的SpringAOP通知将在方法调用的不同点组入进程序中。由于在调用一个方法时有几个不同的时间点,Spring可以在不同的时间点组入进程序。SpringAOP中,提供了四种通知的接口:MethodBeforeAdvice用于在目标方法调用前触发;AfterReturningAdvice用于在目标方法调用后触发;ThrowsAd

8、vice用于在目标方法抛出异常时触发;MethodInterceptor用于实现Around通知(Advice),在目方法执行的前后触发

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

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

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