miller
发布于

Spring AOP在项目中的典型应用场景

在日常的开发中,有很多重复的代码,我们总是希望将之简化,AOP 就是一个非常常用的简化手段。简化的思路一般是这样:

首先,自定义一个注解。
定义 AOP 切面,在切面中,定义切点和通知,切点,也就是方法的拦截规则,我们可以按照注解来拦截,也就是某一个带有自定义注解的方法,将被我拦截下来。
拦截下来之后,前置通知、后置通知、异常通知、返回通知还是环绕通知,就可以随便写了。

1.幂等性处理:  HandlerInterceptor#preHandle RepeatSubmit annotation + redis

2. 接口限流: @Before("@annotation(rateLimiter)")

3. 日志处理; 审计日志 @AfterReturning + @AfterThrowing

4. 多数据源处理 ,不如自带那个多数据源

5. 方法权限处理 @Before

6. 事务处理

7. 参数校验 valid

8。 spring-retry 重试调用

详细参考: https://blog.csdn.net/u012702547/article/details/128240835

浏览 (1006)
点赞
收藏
评论