AOP实现日志和异常处理

来源:互联网 发布:turn.js翻页触发动画 编辑:程序博客网 时间:2024/05/18 03:28

        处理日志和异常的手段有很多,可以用拦截器、可以用struts2自带的异常处理机制。。。,还有一种就是spring的aop。
        当n个项目,分别用springmvc、struts2开发时,想要统一处理异常,并记录日志,貌似只能用aop来实现。 遇到异常就向外抛,是个很好的习惯,同时也个很不好的习惯,如果用了aop处理异常,就可以随意向上抛, 每个方法都用try-catch捕获异常,这显然是不科学的,设计模式要求我们,当两处的代码相同,就意味着代码有优化的余地和必要,如果项目紧就另当别论了,能完成就不错了,又有谁会在意代码的健壮性呢?
        以前,懂松耦合的意思,但是对spring具有松耦合的特性一直停留在模糊的认知层面,经过这么多项目的历练,终于初窥门径,经验的确是笔宝贵的财富。。。
        以游戏为例。。。
1、定义异常类 (可选)
 
2、编写dao、service及其实现类
这里接口层就不写出来了
1)dao的实现类


2)service的实现类




3、定义切面 和 异常通知
 
4、配置切面
 
 5、测试运行
 


只要出现了异常,就可以获知其所在的类、方法名、参数、IP,将其记录日志即可。。。简单快捷。。。
原创粉丝点击