spring aop中增强处理的介绍(before和around)

spring aop可以对业务模块进行切面编程,实现对业务类的增强处理,从而控制业务的执行,aop中有before,around,afterReturning,afterThrowing,after 共5种增强处理,从各种角度实现对业务类方法的控制增强处理。
1、before增强处理
用途:用于在业务方法执行前进行一些处理
用法:①用@Before("execution(* package.*.*(..))")声明
②定义增强处理方法,紧跟在声明后面,比如:
public void beforeTest(JointPoint jp){
System.out.println("目标方法执行前...");
jp.proceed();//执行目标方法
}

2、around增强处理
around功能强大,类似撒手锏,不到必要的时候不轻易用
用途:可以决定是否执行目标方法,什么时候执行,甚至可以改变目标方法的参数和获取执行后的返回值,兼具了before和afterReturn的功能。
用法:①用@Around("execution(* package.*.*(..))")声明
②定义增强处理方法,紧跟在声明后面,比如:
public void aroundTest(ProceedingJointPoint jp) {//该处可以有多个参数,ProceedingJointPoint 是必须要有的参数
System.out.println("目标方法执行前...");
String ret= jp.proceed(new String[]{"被改变的参数"});//执行目标方法,通过传入参数来修改目标函数的参数,但是参数个数和类型必须和目标方法对于,否则报错
System.out.println("返回值:"+ret);

}
什么时候用:①线程安全的环境下才能用②需要控制目标函数的执行,或者在目标函数执行前后需要共享某种数据状态时用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值