spring实现aop面向切片编程的方式

aop底层将采用代理机制进行实现,所以我们从底层开始讲,再到springaop,会有如下几种方式:

1.JDK动态代理(该方法必须要有接口和实现类都存在),代码如下:

spring实现aop面向切片编程的方式spring实现aop面向切片编程的方式

切面类:

spring实现aop面向切片编程的方式

工厂类:

spring实现aop面向切片编程的方式

测试类:

spring实现aop面向切片编程的方式

2.使用cglib 增强字节码(该方法接口可以不存在),代码如下:

 

spring实现aop面向切片编程的方式spring实现aop面向切片编程的方式spring实现aop面向切片编程的方式

工厂类:

spring实现aop面向切片编程的方式

测试结果:

spring实现aop面向切片编程的方式

3.Spring编写代理半自动,代码如下:

spring实现aop面向切片编程的方式spring实现aop面向切片编程的方式spring实现aop面向切片编程的方式

spring配置配置:

spring实现aop面向切片编程的方式

测试:

spring实现aop面向切片编程的方式

4.Spring AOP全自动编程(最常用),代码如下:

spring实现aop面向切片编程的方式spring实现aop面向切片编程的方式

spring实现aop面向切片编程的方式

spring配置文件:

spring实现aop面向切片编程的方式

测试:

spring实现aop面向切片编程的方式