AOP常用的增强方式

文章详细介绍了AOP中的五种增强类型:Before前置增强用于参数校验等预处理;After后置增强在业务方法执行后执行,即使有异常;Around环绕增强结合了前置和后置增强,能控制方法的执行;AfterReturning最终增强在方法正常返回后执行;AfterThrowing异常增强在未被捕获的异常发生时触发,常用于错误日志记录。DeclareParents引入增强允许在不修改原有类的情况下实现接口功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Before 前置增强:如果需要在执行方法addCustomer之前,我们进行一些其它的业务操作,比如校验参数是否为空,这时候就可以使用前置增强Before来实现了。

2、After 后置增强:程序在运行时,先调用了前置增强,然后执行业务方法,后面再执行了后置增强;而此时,一旦在执行业务方法的时候抛出异常了,后置增强还是会被执行的;比如在业务方法中添加一个异常,然后运行程序。

3、Around 环绕增强:环绕增强是在调用业务方法之前和调用业务方法之后都可以执行响应的增强语法,也就是说:一个前置增强和一个后置增强相当于是组成了一个环绕增强;不同的是,在前置增强和后置增强中,在AOP中前置增强和后置增强只能拿到JoinPoint类,而在环绕增强中,可以拿到ProceedingJoinPoint类。

4、AfterReturning 最终增强:这个和后置增强有一点类似,都是在业务方法执行后执行。

5、AfterThrowing 异常增强:在业务方法调用是程序出现异常并且异常在没有被捕获的前提下所触发的,我们可以使用最终增强来记录程序的错误日志,以便于我们进行排错等。异常增强被触发,可以获取到当前请求的参数信息、时间信息等,记录到数据库或者是ELK等,以便于排错使用,并且这些逻辑和业务代码是分开的互不影响,很大程度上的解除代码耦合

同时,当业务方法中没有异常信息时,则不会触发异常增强;从这里可以看出在同一个AOP中的执行顺序 Around --> Before --> Around --> After --> AfterReturning --> AfterThrowing

6、DeclareParents 引入增强:可以实现 一个Java类,没有实现A接口,在不修改Java类的情况下,使其具备A接口的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值