栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring学习记录2021-11-09 AOP

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring学习记录2021-11-09 AOP

AOP的各组成部件
■横切关注点:对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点
■切面( aspect) : 类是对物体特征的抽象,切面就是对横切关注点的抽象
■连接点 ( joinpoint) :被拦截到的方法 ,字段或构造方法
■切入点( pointcut ) :对连接点进行拦截的定义
■通知( advice ) : 拦截到连接点之后要执行的代码
■目标对象( target ) : 代理的目标对象

AOP定义切入点


AOP定义切面方法


AOP增强种类

advance,通知,在Spring中叫增强也许更加合理。所谓增强,其实就是向各个程序内部注入一些代码从而增强原有程序的功能。Spring使用增强类定义横切逻辑,同时由于Spring只支持方法连接点,增强还包括在方法的哪一点加入横切代码的方位信息,所以增强即包括横切逻辑,又包含部分连接点的信息。

  • 前置增强 aop:before doBefore(JoinPoint jp)前四种绑定函数如此形式

  • 后置增强 aop:after

  • 异常增强 aop:after-returning

  • 返回增强 aop:after-throwing

  • 环绕增强 aop:around doAround(ProceedingJoinPoint jp)环绕增强如此形式

    增强名称接口描述
    前置增强org.springframework.aop.BeforeAdvice在目标方法执行前来实施增强。
    后置增强org.springframework.aop.AfterReturningAdvice在目标方法执行后来实施增强。
    环绕增强org.aopalliance.intercept.MethodInterceptor在目标方法执行前、后实施增强。环绕增强是AOP联盟定义的接口,其他四种增强接口则是Spring定义的接口。
    异常抛出增强org.springframework.aop.ThrowsAdvice在目标方法抛出异常后来实施增强
    返回增强org.springframework.aop.Introductioninterceptor表示在目标类中添加一些新的方法和属性。引介增强是一种特殊的增强。他可以在目标类中添加属性和方法,通过拦截定义一个接口,让目标代理实现这个接口。他的连接点是类级别的,而前面的几种则是方法级别的。

AOP增强种类运行顺序

执行顺序为 前置增强----->目标函数------->后置增强-------->返回增强跟异常增强二选一

返回增强出现说明程序无异常无错误 即异常增强不执行或不存在 当出现异常增强 异常被catch 程序中断将会无返回 即返回增强不存在或不执行

AOP增强方法绑定方式






AOP中开启@注解的使用与扫描开关包


AOP注解形式的使用

返回增强需要注明returning 异常增强需要注明throwing

@AfterReturning(value="execution(public int com.springdemo.service.impl.OtherServiceImpl.*(..))",returning = "re")
@AfterThrowing(value="execution(public int mul(int,int))",throwing="e")

其余为

@Around("execution(public int *(..))")
@After("execution(public int mul(..))")
@Before("execution(public int mul(int,int))")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/459464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号