前言
Spring的AOP指的是在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式【动态代理】。
AOP功能测试
①导入AOP模块
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.12.RELEASE</version>
</dependency>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HXqkWTV4-1616930807867)(https://upload-images.jianshu.io/upload_images/25993207-cd36a91c5987f7fe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
②定义逻辑组件和切面类
逻辑组件
在业务逻辑运行的时候将日志进行打印(方法之前、方法运行结束、方法出现异常,xxx)
public class MathCalculator {
public int div(int i,int j){
System.out.println("MathCalculator...div...");
return i/j;
}
}
切面类
切面类里面的方法需要动态感知MathCalculator.div运行到哪里然后执行;
/**
* 切面类 必须告诉Spring哪个类是切面类(给切面类上加一个注解:@Aspect)
* @Aspect: 告诉Spring当前类是一个切面类
*
*/
@Aspect
<