Aop 面相切面编程
AOP-面相切面编程
面向切面编程可以将交叉业务提取出来复用到核心业务逻辑中去
核心业务上线正常运行的状态下,我们都尽量面向切面编程,不动原来的逻辑
- 代码复用性更强
- 易于维护(一处修改,多处生效)
- 使开发者更关注业务逻辑(因为交叉业务提取出来了,核心代码里只留业务逻辑,十分清晰)
一、注解
@Aspect: 表示这是一个切面类
类中的切点类型
- 前置通知:@Before 目标方法执行之前的通知
- 后置通知:@AfterReturning 目标方法执行之后的通知
- 环绕通知:@Around 目标方法之前添加通知,同时目标方法执行之后添加通知。
- 异常通知:@AfterThrowing 发生异常之后执行的通知
- 最终通知:@After 放在finally语句块中的通知
二、全注解式开发
在Spring配置类上加注解:
@EnableAspectJAutoProxy(proxyTargetClass = true)
⭐️:当proxyTargetClass = true时,所有注解有Aspect的类都会被Spring创建代理对象
本文由作者按照
CC BY 4.0
进行授权