在做这个项目的期间,看到一篇很有启发性的文章<程序员你为什么这么累>.对于初级程序员来说,拿到需求,第一反应是用什么技术来尽快的完成任务,这本身并没有问题.但长此以往,不仅被需求的更改搞得疲惫不堪,更被重复的工作消磨了激情.如果你也有类似的烦恼,不妨看看此文,结合日常工作,体会下文中提到的先有思想再有技术. ~~~~~~~~ge ge ge ge~~~~~~~~~~~ 正文: 到目前为止,我们的项目线上运行良好,但每个人都知道,它一定有 bug.当异常产生,就需要及时去修复.然而我们不可能实时
当异常被捕获catch的时候,spring的事物则不会回滚 为什么不会滚呢?? spring aop 异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能进行回滚,默认情况下aop只捕获runtimeexception的异常: 解决方案: 1.例如service层处理事务,那么service中的方法中不做异常捕获,或者在catch语句中最后增加throw new RuntimeException()语句,以便让aop捕获异常再去回滚,并且在se
Computer.java package com.wh.aop2; public class Computer { public void play01(){ System.out.println("一号玩家!"); } public void play02(){ System.out.println("二号玩家!"); System.out.println(10/0); } public void play03(){ System.out.println(&qu
Computer.java package com.wh.spring_aop; public class Computer { public void playLOL(){ System.out.println("LOL进行中..."); } public String result(boolean flag){ System.out.println("公布比赛结果..."); if(flag){ return "您赢了"; }else{ in