AOP在代码中的实现方式有三种:
1.采用spring的原生API进行实现
先定义通知类:
after通知类型的通知类实现AfterRuturnAdvice接口,实现内部的方法,在方法中加入你要通知的操作
before通知类型的通知类实现MethodBeforeAdvice接口,实现内部的方法,在方法中加入你要通知的操作
还有其他的通知类型就不一一列举了,之后便是在application配置文件中声明通知类bean、插入类bean,配置切入点、通知
然后,当你运行被切入的类的切入点方法时,前置通知和后置通知都会执行。
2.不定义通知类,因为每一个通知都要创建一个类太麻烦。第二种方法定义切面类,然后在application配置文件中进行配置
先创建一个切面类,再在切面类中创建你要插入的通知方法
如:
然后在配置文件中进行配置
第三种:用注释配置切面类、通知、切入点
@component 注解:将该类声明进入spring容器中
@Aspect:声明是一个切面类bean,而不是普通bean
@before(切面点)修饰方法:表面这是一个前置方法
@After(切面点)声明这是一个后置方法
@Pointcut 声明这是一个切点表达式方法