一.aop框架优点:
spring引入AspectJ库来引入,来进行注解注入。
xml则配置<aop:aspectj-autoproxy/>启动零注解的方式注入
各步骤良好的隔离性;
源代码无关性;
1.切面:就是增强目标对象的一个类。
2.连接点:被代理的目标方法。
3.增强处理(Advice):也叫通知的 这里面包括around,before,after;
before:在切入点执行之前调用增强的方法;
after:在切入点执行之前调用增强的方法;
AfterReturning:执行完切入点之后,返回值;
AfterThrowing:执行完切入点,返回值;
4.切入点:被代理的目标方法。
5. Around:注解的一个增强版,控制目标方法执行时机,如何执行关键,如果程序没有调用ProceedingJoinPoit里面proceed才会执行目标方法,否则是不会执行目标方法的;
例如:
@aspectJ
public class AroundadviceTest{
@Around("execuction(*.xx.xxx)")
public Object processTx(ProcessJoinpoit jp){
System.out.print("执行目标方法之前,模拟开始事务");
String rvt=jp.proceed(new String[]{" 被改变得参数"}); //是否执行目标方法,并且传进参数,并且返回从目标方法返回值
System.out.print("执行目标方法,模拟事务结束");
return rvt+"新增事务";
}
}