目录
一、对于AOP的理解
AOP是一种思想,是对一类事情集中处理。比如:对于一个项目中的不同方法,想计算每个方法运行消耗时间,若在每个方法体里实现一遍计算时间,代码不断重复。此时,我们就可以利用AOP思想集中计算时间。
二、Spring是如何实现AOP的
Spring实现AOP有两种实现方式:execution表达式和@annotation
1、execution表达式
例如:execution(public String com.example.demo.Controller.testController())
2、@annotation
(1)实现步骤
①编写自定义注解;
②使用@annotation表达式来描述切点表达式;
③在连接点的方法上加上自定义注解。
3、基于Spring API,通过xml配置的方式。
4、基于代理实现
三、Spring AOP的实现原理
Spring AOP是基于动态代理实现的,常见的实现方式:JDK动态代理和CGLIB动态代理。
四、Spring是如何选择使用哪种动态代理
1、Spring Framework
如果代理的是接口,使用JDK动态代理。如果代理的是没有实现接口的类,使用CGLIB动态代理。</