sshspring面向切面编程

sshspring面向切面编程

ID:36317044

大小:503.50 KB

页数:24页

时间:2019-05-09

sshspring面向切面编程_第1页
sshspring面向切面编程_第2页
sshspring面向切面编程_第3页
sshspring面向切面编程_第4页
sshspring面向切面编程_第5页
资源描述:

《sshspring面向切面编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向切面编程主讲人:孙鑫http://www.sunxin.orgAOP介绍AOP全称是AspectOrientedProgramming,中文翻译为面向切面编程。http://www.sunxin.orgAOP术语Aspect(切面),切面就是你要实现的横切功能。Jointpoint(连接点),连接点是应用程序执行过程中插入切面的地点(执行点)。这个地点可以是方法调用,异常抛出,或者甚至是要修改的字段。切面代码在这些地方插入你的应用流程中,添加新的行为。Advice(通知),通知是切面的实际实现。它通知应用系统新

2、的行为。在日志例子中,日志通知(loggingadvice)包含了实际实现日志功能的代码,例如向日志文件中写日志。通知在连接点被插入到应用程序。PointCut(切入点),切入点定义了通知应该应用到哪些连接点。通知可以应用到AOP框架支持的任何连接点。Introduction(引入),引入允许你为已经存在的类添加新方法和属性。TargetObject,目标对象,即被代理的对象。AOPProxy,AOP代理。代理是将通知应用到目标对象后创建的对象。AOP代理,AOP框架创建的对象,包含通知。在Spring中,AOP代

3、理可以是JDK动态代理或者CGLIB代理。Weaving(织入),织入是将切面应用到目标对象从而创建一个新的代理对象的过程。切面在指定的连接点被织入到目标对象中。分为静态织入(AspectJ)和动态织入(SpringAOP)。http://www.sunxin.orghttp://www.sunxin.orgSpring中的通知类型通知类型接口说明Beforeorg.springframework.aop.BeforeAdvice在目标方法被调用之前调用Afterorg.springframework.aop.Af

4、terReturningAdvice在目标方法被调用之后调用Aroundorg.aopalliance.intercept.MethodInterceptor拦截对目标方法的调用Throwsorg.springframework.aop.ThrowsAdvice当目标方法抛出异常时调用Introdcutionorg.springframework.aop.IntroductionInterceptor引入整个类http://www.sunxin.orgBeforeAdviceMethodBeforeAdvice在方

5、法调用之前被调用,这样的Advice不能够阻止方法调用的进行,除非它抛出一个异常。MethodBeforeAdvice接口只有一个方法:voidbefore(Method method,Object[] args,Object target)throwsThrowable参数method表示被调用的方法,参数args表示被调用方法的参数,参数target表示方法调用的目标,可以是null。注意返回的类型是void。Before通知可以在连接点执行之前插入自定义的行为,但是不能改变返回值。如果一个beforeadvi

6、ce抛出一个异常,这将中断拦截器链进一步的执行。这个异常将沿着拦截器链向上传播。如果这个异常是unchecked的(RuntimeException),或者出现在被调用方法的签名中(即目标方法声明抛出的异常),那么它将会被直接传递给客户代码;否则,它将被AOP代理包装到一个unchecked的异常中。Beforeadvice可以和任何切入点一起使用。http://www.sunxin.orgAfterReturningadviceAfterreturningadvice只有在方法正常返回时被调用,如果方法执行抛出了

7、异常,那么该advice将不会被调用。这样的advice可以看见返回值,但是不能改变它。Afterreturning通知可以访问返回值(不能改变)、被调用的方法、方法的参数和目标对象。AfterReturningAdvice接口只有一个方法:voidafterReturning(Object returnValue,Method method,Object[] args,Object target)参数returnValue表示方法的返回值,method表示被调用的方法,参数args表示被调用方法的参数,参数tar

8、get表示方法调用的目标,可以是null。Afterreturningadvice不会改变执行的路径。如果它抛出一个异常,这个异常将取代返回值沿着拦截器链被向上抛出。Afterreturningadvice可以和任何切入点一起使用。http://www.sunxin.orgInterceptionaroundadviceSpring中最基本的advice类型

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

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

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