推荐阅读:
AOP【动态代理】:
是指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式
1)导入aop模块
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.12.RELEASE</version>
<dependency>
2)定义一个业务逻辑类(MathCalculator)
public class MathCalculator {
public int div(int i,int j){
return i/j;
}
}
3)定义一个日志切面类(LogAspects)
4)定义配置类(MainConfigOfAOP)
核心步骤:
1)将业务逻辑组件和切面类都加入到容器中(@Bean注入);告诉Spring哪个是切面类(@Aspect)
2)在切面类上的每一个通知方法上标注通知注解,告诉Spring何时何地运行(切入点表达式)
3)开启基于注解的aop模式:@EnableAspectJAutoProxy
执行效果:
-
正常执行:
前置通知--> 目标方法--> 后置通知--> 返回通知
-
出现异常:
前置通知--> 目标方法--> 后置通知--> 异常通知
网友评论