当前位置: 首页 > news >正文

吉林网站建设司优化是什么梗

吉林网站建设司,优化是什么梗,wordpress仿站入门,网页设计怎么运行一.抛出事务不支持的异常 原理: Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。 但…

一.抛出事务不支持的异常

原理:
Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。
但若手动抛出Exception异常,而Exception是RuntimeException的父类,会导致事务不生效。
解决方案:
1.指定Spring事务异常捕获类型
@Transactional(rollbackFor = Exception.class)
2.抛出Spring事务支持的异常类型
throw new RuntimeException(“手动抛出运行时异常”);

二.使用了try catch

原理:
异常被try catch块捕获,导致事务失效,自己把异常吃了怪谁。
解决方案:
在catch中抛出Spring事务支持的异常,或者你本来就不想回滚。

三.事务方法为私有方法

原理:
Spring声明式事务基于动态代理实现,private方法不能被代理,事务不会生效。
此外,static修饰的方法属于类,不属于任何对象,也不能被代理,事务不生效。
final修饰的方法无法重写,也就不能被代理,事务也不会生效。
解决方案:
方法用public修饰,不要用static、final修饰

四.类未被Spring管理

原理:
Spring实现对象的动态代理,首先这个对象要交由Spring管理。
解决方案:
将类交由Spring管理,可添加@Service注解,或使用其他能够注册成Spring Bean的注解或方法。

五.一个方法调用本类另一个方法,事务失效

原理:
@Transactional基于AOP实现,而AOP又是基于动态代理实现,直接调用本类方法或使用this调用本类方法,均不是Spring的代理对象,无法实现动态代理,事务也就不会生效。
解决方案:
1.将两个方法合并为一个方法,用@Transactional修饰。
2.将被调用的方法放到另一个被Spring管理的类中,用实例对象调用,
3.用@Autowired在本类中注入本类实例,再用注入的实例对象调用该方法。
4.手动获取本类的代理,用代理调用该方法((TestService)AopContext.currentProxy()).myTest();

六.数据表不支持事务

原理:
Spring事务基于数据库事务实现,有些数据表本身不支持事务,如MySql的MyISAM引擎,事务自然不生效。
解决方案:
将数据表改用支持事务的引擎,如MySql的InnoDB引擎,mysql5及之后的版本默认InnnoDB。

七.Spring事务传播级别设置为不支持事务

原理:
@Transactional(propagation = Propagation.NOT_SUPPORTED) 不支持事务,若存在事务则挂起
@Transactional(propagation = Propagation.NEVER) 不使用事务,若存在事务则抛异常
解决方案:
使用Spring默认的传播级别(PROPAGATION_REQUIRED),或其他支持事务的传播级别。

事务的传播?

八.未开启事务

解决方案:
@EnableTransactionManagement开启事务,Spring boot已自动装配,无需显示使用此注解。

九.多线程调用

原理:
不同线程使用不同的数据库链接,基于同一数据库连接的事务才能同时提交或回滚,因此事务不生效。
问题:如何支持多线程事务?

参考

http://www.ds6.com.cn/news/20605.html

相关文章:

  • 晋江做网站模板广东互联网网络营销推广
  • 免费网站制作案例郑州seo代理商
  • 新疆建设网络培训学院seo百度快照优化公司
  • wordpress子页面不显示手机优化大师为什么扣钱
  • 高密做网站哪家好价位百度图片收录提交入口
  • 检测ai写作的网站seo排名优化北京
  • 山西省建设厅网站首页6免费网站建设哪个好
  • 网站建设费是什么想在百度做推广怎么做
  • 爱疯卷网站怎么做株洲seo优化推荐
  • 忻州做网站在线外链推广
  • 如何做电子商务网站全网营销推广方案外包
  • 苏州营销型网站建设win10优化大师好用吗
  • 做变态手术视频网站淘宝关键词优化技巧教程
  • 做株洲网站需要多少钱做网站用什么编程软件
  • 石河子网站制作在线客服系统
  • 网站数据采集怎么做长春seo技术
  • 网页设计软件中的css表示seo自然优化排名
  • 网站专业建设公司五种常用的网站推广方法
  • 八年级信息上册如何做网站总推荐榜总点击榜总排行榜
  • 学做网站能赚多少百度做广告怎么做
  • 静态网站开发课程论坛推广的步骤
  • 网站主题包括网络营销的作用和意义
  • 南宁品牌网站建设网络营销推广方式包括
  • 网站群建设优点广州网络推广服务商
  • 做百度推广一定要有网站吗长尾关键词搜索网站
  • 扬中网站推广报价扬州百度推广公司
  • 网站关键词收费推广软文
  • wordpress插件删除湖南网站seo营销
  • 怎么用ai做企业网站框架广告策划方案范文
  • 东营做网站公司google网页搜索