AOP应用已经很广了,谈一谈平时工作用到的地方:
1. 打印摘要日志
打印调用服务时的调用的服务、方法、参数、执行结果、消耗时间
2. 详细的入参出参
打印调用服务时调用的参数列表,以及返回结果。基于日志量的考虑,对于频繁调用的查询类可能不需要打印;对于操作类服务,可以打印出入参出参
3. 性能监控
对于每个服务的调用、异步消息的处理、DAO的调用,以及对外围系统的远程调用,设置一个阀值,如果超过此阀值,可以打印出日志,便于排查问题
4.公共的参数设置
与本地线程变量ThreadLocal结合,便于服务内部使用;每次调用时,将参数设置入ThreadLocal中;每次退出,清空ThreadLocal变量。
5.WEB页面的权限检查
每次访问WEB页面时,检查是否有权限访问web页面
6.WEB页面的防表单重复提交、防篡改、放XSS攻击
每次访问WEB页面时,根据Token判断是否重复提交和被用户恶意篡改
7.单元测试的MOCK
单元测试中,一些依赖外围服务的地方,需要被mock掉,可以采用拦截器,统一生产具体的代理类,返回MOCK的值
8.***************
太多应用的地方了,只要是可以抽象出公共的地方,大部分都可以考虑采用拦截器的方式。
拦截器的原理:
1. java的Proxy和InvocationHandler,只能代理接口类
2. cglib,不仅可以代理接口类,还可以代理具体的实现类
分享到:
相关推荐
spring aop应用 spring aop应用 spring aop应用 spring aop应用 spring aop应用
使用Spring开发的AOP小程序,供学习使用
囊括了最实用的AOP应用。 XPage 一个非常方便的fragment页面框架。 XUpdate 一个轻量级、高可用性的Android版本更新框架。 XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装。 ...
一个简易的AOP(Android)应用框架。囊括了最实用的AOP应用。
Spring及AOP应用(事务与集成)培训
Vs2019编写的 C# unity Aop 应用实例 源代码
Java进阶之SpringAOP应用共16页.pdf.zip
主要是利用Spring AOP实现动态数据源,和数据缓存操作。
Spring AOP应用开源架构源码2021.pdf
本书以AOP基础理论为主线,首先讲解AOP的产生与发展、为什么要应用AOP、AOP的核心概念,然后详细讲解AspectWerkz、AspectJ、Spring框架的AOP应用开发技术。 随书附赠的光盘内容为本书开发的案例程序包。本书内容循序...
《开发者突击:精通AOP整合应用开发(AspectWerkz+Aspectl+Spring)》以AOP基础理论为主线,首先讲解AOP的产生与发展、为什么要应用AOP、AOP的核心概念,然后再详细讲解AspectWerkz、AspectJ、Spdng框架的AOP应用开发...
Spring AOP 学习手册
spring 采用aop 的实例
本书以AOP基础理论为主线,首先讲解AOP的产生与发展、为什么要应用AOP、AOP的核心概念,然后详细讲解AspectWerkz、AspectJ、Spring框架的AOP应用开发技术。 随书附赠的光盘内容为本书开发的案例程序包。本书内容循序...
XAOP一个轻量级的AOP(Android)应用框架,囊括了最实用的AOP应用。心动不如行动,还不赶紧点击,体验一下吧!关于我X系列库快速集成为了方便大家快速集成X系列框架库,我提供了一个空壳模版供大家参考使用: : 特色...
囊括了最实用的AOP应用。 关于我 特点 支持快速点击切片@SingleClick,支持设置快速点击的时间间隔。 支持动态申请权限切片@Permission,支持自定义响应动作。 支持主线程切片@MainThread。 支持IO线程...
springaop:spring aop应用实例和源码解析
找了很久,也没在网上找到spring mvc框架下的aop例子~研究了好久终于写出来了~拿出来和大家分享一下~
NULL 博文链接:https://elf8848.iteye.com/blog/436464