范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

详解SpringAOP及事务配置三种模式

  Spring AOP简述
  Spring AOP的设计思想,就是通过动态代理,在运行期对需要使用的业务逻辑方法进行增强。
  使用场景如:日志打印、权限、事务控制等。
  默认情况下,Spring会根据被代理的对象是否实现接口来选择使用JDK还是CGLIB。当被代理对象没有实现接口时,Spring会选择CGLIB。当实现了接口,Spring会选择JDK官方的代理技术,不过我们也可以通过配置的方式,让Spring强制使用CGLIB。
  配置方式有两种:  使 aop:config标签配置   使 aop:aspectj-autoproxy标签配置   Spring中AOP的实现
  2.1 XML模式  引入依赖(如果项目里没有的话)       org.springframework     spring-aop     5.1.12.RELEASE       org.aspectj     aspectjweaver     1.9.4  xml配置
  主要看下面的aop部分  <?xml version="1.0" encoding="UTF-8"?> 
  xml相关切面配置                                                                                                                                                                                                     
  环绕通知可以实现上面的4种通知,并且可以控制业务方法是否执行。通过如下代码控制:   proceedingJoinPoint.proceed(proceedingJoinPoint.getArgs()); public class LogUtil {      public void printLog(){         System.out.println("打印日志");     }      public void after(){         System.out.println("后日志打印,不管业务是否正常");     }      public void afterReturn(){         System.out.println("正常执行完毕打印日志");     }      public void afterException(){         System.out.println("异常执行打印日志");     }      public void around(ProceedingJoinPoint proceedingJoinPoint){         System.out.println("环绕前置");         try {             Object result = proceedingJoinPoint.proceed(proceedingJoinPoint.getArgs());             System.out.println("环绕正常执行");         } catch (Throwable throwable) {             throwable.printStackTrace();             System.out.println("环绕异常执行");         }     } } 切入点表达式
  举例:  public void com.lagou.service.impl.TransferServiceImpl.updateAccountByCardNo(c om.lagou.pojo.Account) 访问修饰符可以省略,也就是public可以不用写  void com.mmc.ioc.service.impl.TransferServiceImpl.transfer(String,String,int) 返回值可以用*代替,表示返回任意值  * com.mmc.ioc.service.impl.TransferServiceImpl.transfer(String,String,int) 包名可以使用..表示当前包及其子包  * com..TransferServiceImpl.transfer(String,String,int) 类名和方法名,都可以使用*表示任意类,任意方法  * com..*(String,String,int)) 参数列表,如果是基本类型可以直接写名称,如int。引用类型必须用全限定名称  参数列表可以使用*代替任意参数类型,但必须有参数  * com..*(*) 参数列表可以使用..代替任意参数类型,有无参数均可  * com..*(*) 全通配方式:  * *..*.*(..)
  2.2 XML+注解模式  XML中开启Spring对注解AOP的支持    注解配置  @Component @Aspect public class LogUtil {      @Pointcut("execution(* com.mmc.ioc.service.impl.TransferServiceImpl.transfer(..))")     public void pointcut(){}      @Before("pointcut()")     public void printLog(){         System.out.println("打印日志");     }      @After("pointcut()")     public void after(){         System.out.println("后日志打印,不管业务是否正常");     }      @AfterReturning("pointcut()")     public void afterReturn(){         System.out.println("正常执行完毕打印日志");     }      @AfterThrowing("pointcut()")     public void afterException(){         System.out.println("异常执行打印日志");     }  //    @Around("pointcut()")     public void around(ProceedingJoinPoint proceedingJoinPoint){         System.out.println("环绕前置");         try {             Object result = proceedingJoinPoint.proceed(proceedingJoinPoint.getArgs());             System.out.println("环绕正常执行");         } catch (Throwable throwable) {             throwable.printStackTrace();             System.out.println("环绕异常执行");         }     } }
  2.3 纯注解模式
  只需要用注解@EnableAspectJAutoProxy替换掉   Spring事务配置
  也分为3种模式
  3.1 XML模式  引入pom依赖       org.springframework     spring-context     5.1.12.RELEASE       org.aspectj     aspectjweaver     1.9.4       org.springframework     spring-jdbc     5.1.12.RELEASE       org.springframework     spring-tx     5.1.12.RELEASE  xml配置                                                                                                        
  3.2 基于XML+注解  xml配置:                                 在类或方法上面添加@Transactional注解  @Transactional(readOnly = true,propagation = Propagation.SUPPORTS)
  3.3 纯注解
  用@EnableTransactionManagement 注解替换掉   
  即可
  书山有路勤为径,学海无涯苦作舟
  原文链接:https://www.cnblogs.com/javammc/p/15569761.html

现在用的华为荣耀8X,下一步换哪部手机最合适?8x用了三年了,就是人为将屏摔坏了二次,第一次是售后服务,第二次是三百元换了个屏,目前并没有感觉有问题,还和当初用的一样流畅,各项功能正常。手机功能再多,对于某些人来说无非是为了通如何看待荣耀50全系都采用的高频PWM调光?这个与其他家调光有什么差别?首先我们要明白OLED屏幕伤眼的原理,然后再去比较高频PWM调光和DC调光的差异,伤眼的主要原因就是屏幕闪烁的问题。目前OLED屏幕的亮度控制往往是通过PWM技术来实现的,通过控制微软彻底解决蓝屏问题?死机界面变为黑色随着微软Win11开发者预览版的发布,其各项改变都成为用户的关注重点。近日就有媒体发现,在这个新的开发者预览版中,经典的微软蓝屏界面变成了黑屏。除了背景从蓝色变成黑色之外,其他的内人脸识别时一定要穿上衣服,这是来自内部人员的忠告人脸识别时一定要穿上衣服,这是来自内部人员的忠告。最近,有一名技术公司的内部人事曝出了一个行业内幕,并引来了众多网友的激烈讨论。这位内部人事劝告用户在使用人脸识别的时候一定要穿好衣小米MIUI13有望7月16日发布分布式菜单是一大亮点随着大量丰富功能的加入,曾经以优秀体验流畅著称的MIUI系统如今却成了小米旗舰的最大累赘,系统过于臃肿导致BUG出现的概率非常高,并且常有卡顿发热情况出现,被用户不少吐槽。因此,小事关华为鸿蒙OS系统!外媒再次传来好消息格力董大姐表态接入鸿蒙7月8日讯相信大家都知道,华为鸿蒙OS系统发布至今已经有一个多月时间了,在这短短一个月时间内,已经有很多华为手机用户升级了鸿蒙OS系统,并且我们从首批升级鸿蒙OS系统公测版用户反馈你现在用的什么手机?再换机还用这个品牌的吗?谢邀!其实因为过去一年半之间,因为职业属性的机缘巧合,让我连续使用了两代vivoX系列的产品,包括上一代的vivoX50Pro以及这一代的vivoX60Pro,而现在,vivoX6滴滴是寂静的,热闹是别人的,网约车市场大战一触即发网约车,是基于个人将自己暂时闲置的资源服务他人并获取相应回报的经济模式,一直被视为共享经济的代表。随着近年来各地司机对滴滴等大型网约车平台高抽点的不满,以及三四线城市互联网市场的崛996的时代要过去了?7月9日字节跳动宣布,将在8月1号取消大小周,有需求的团队和个人,可以通过系统提交加班申请。来自新浪微博从腾讯宣布强制6点下班开始,到快手取消大小周,字节跳动成为了第三家调整工作时我用的是邻家wifi,买一个wifi信号放大器,能有用吗?我用的是邻家wifi,买一个wifi信号放大器有用吗?这种做法是很好的一种方法,wifi信号放大器相当于一个无线wifi扩展器,它可以接收邻居家里的无线wifi信号进行扩展范围。不国产光刻机即将下线,日本却紧急断供光刻胶,国企不负众望点击关注,每天精彩不断!导读国产光刻机即将下线,日本却紧急断供光刻胶,国企不负众望!如今半导体芯片已经成为了国内科技企业发展的重中之重,作为现代科技发展的最顶级智慧结晶,虽然说半导
800元以下入耳式耳机有哪些推荐?八百元以下的入耳会耳机我推荐下面几款,是我觉得比较好的几款,可以参考参考近两年蓝牙耳机可是掀起一股热潮,随之蓝牙耳机的选择成为了很多人关心的问题。如何选择一款满足质量要求,功能完善新出炉的宜盾普星鲜厨微蒸烤一体机评测,和微蒸烤食谱一起热乎乎哈喽大家好,我是聚灵阵主。今天主要来进行一下宜盾普最新推出的台式微蒸烤一体机的评测,顺便给大家分享几个简单美味的微蒸烤食谱。评测之前先科普微蒸烤一体机能做什么微蒸烤一体机是集微波炉在闲鱼看见一对值得推荐的入门级落地箱今天无意逛闲鱼时发现的,豪杰AR620落地箱,这对箱子我以前玩过,400500内完全值得想尝试的朋友入手。豪杰音响在90年代也是风光一时,可是随着PC的崛起,整个音响市场就开始江河Apple可能在今年推出有声读物服务最终实现AppleOne捆绑服务日前,有消息称苹果今年晚些时候将推出有声读物服务,以扩大其AppleOne服务组合,与Netflix亚马逊等公司竞争。据美国科技博客MacRumors介绍,苹果已经通过其Apple假冒滴滴司机性侵直播两当事人刑满释放后公开道歉1月5日,假冒滴滴司机性侵直播案当事人车某涛和郜某琦在其个人微博发布手写信,向滴滴司机滴滴公司以及网友们公开道歉,寻求公众原谅。据了解,两名当事人因传播淫秽物品被判1年零2个月,目关于分布式和微服务的一些总结写在前面一直对微服务和分布式这两个概念模棱两可,不是太清晰,而且接触的项目也没这么大体量,没有用到过,蹭现在有时间总结一下,总结内容部分来源于从Paxos到Zookper分布式一致实锤了?官方定调联想4大罪,这次真翻车了在去年下半年,著名的up主司马南对联想发出了质疑,这场讨论一直延续到了今年,而联想并未对其做出回应。有很多人怀疑司马南为了获取流量碰瓷联想集团,然而近期的一系列事件表明联想集团或许中信证券比亚迪2022年有望迎车型爆发南方财经1月5日电,中信证券指出,2021年比亚迪新能源汽车累计销量60。4万辆,同比218,技术红利开始兑现。随着公司车型矩阵持续完善新能源车竞争力持续验证,2022年公司智能化这起硅谷诈骗案主角最终获罪来源中工网工人日报原标题这起硅谷诈骗案主角最终获罪董沛1月3日,曾经靠骗局成为硅谷最靓丽独角兽的Theranos公司CEO伊丽莎白霍尔姆斯最终被判有罪。她曾开创了美国创新企业的神话MySQL优化系列14优化MySQL内存备注测试数据库版本为MySQL8。0TableofContents一。MySQL如何使用内存二。监控MySQL内存使用三。开始largepage支持参考一。MySQL如何使用内存M不懂英语能做跨境电商吗?容易吗?不容易。但万事开头难,英语的学习也可以从实践中获得。所以不懂英语做跨境电商就要学英语。而要学英语,尤其是跨境电商英语,我认为最快的方法就是让跨境电商老手带你,了解哪方面的英语表达合