AOP:指定程序运行期间将某段代码切入到指定方法指定位置进行运行的编程方式。
下面就用一个例子快速入门AOP的使用,我们定义了一个div方法(除法),在div运行之前日志打印一下参数,若没有错误就打印运算结果,有错误就打印错误信息。
实现上面的例子要分为三步:
- 将业务逻辑组件和切面类都加入容器中,告诉Spring哪个是切面类(@Aspect)。
- 在切面类上的每个通知方法上标注通知注解,告诉Spring何时何地运行(切入点表达式)
- 开启基于注解的AOP模式
1、创建业务类、切面类和配置类,并使用@Aspect确定切面类
业务类,其中就一个div函数,
package com.xx.aop;
public class MathCalculator {
public int div(int i, int j) {
return i / j;
}
}
切面类,名字自起为LogAspects,使用@Aspect告诉Spring这个类是切面类,
// 告诉spring当前类是切面类
@Aspect
public class LogAspects {
}
配置类,MathCalculator和LogAspects 注册到容器中,并使用@EnableAspectJAutoProxy
开启基于注解的Aop模式。
@Configuration
@EnableAspectJAutoProxy // 开启基于注解的Aop模式
public class AopConfig {
@Bean
public MathCalculator mathCalculator() {
return new MathCalculator(