术语
切入点表达式
Execution([权限修饰符][返回类型][全类名][方法名称][参数列表])
其中权限修饰符可以省略,默认public
参数列表可以用…来表示
基于AspectJ注解实现AOP
第一步:开启注解扫描和开启生成代理对象
第二步:创建被增强类并且加上注解@Component
创建增强类(代理类)并且加上注解@Component和@Aspect
第三步:配置不同类型的通知
前置通知:@Before(一定执行)
后置通知:@After (一定执行,相当于finally)
环绕通知:@Around(前面一定执行,后面可能因为异常不执行)
异常通知:@AfterThrowing(有异常抛出后执行)
返回通知:@AfterReturning(方法返回后执行)
ps:相同切入点的提取
提取:
使用提取:
ps:有多个增强类多同一个方法进行增强,设置增强类优先级
ps:完全注解开发
一样写一个配置类来代替xml配置
代替