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

网站建设开发报告论文互联网行业有哪些公司

网站建设开发报告论文,互联网行业有哪些公司,关岭网站建设,建筑人才网官网档案查询目录 ​编辑 一、方法内部调用 1、原理: 2、结论: 3、解决方法: 1. 增加一个service,把一个事务的方法移到新增加的service方法里面,然后进行注入再调用 2. 在自己类中注入自己 3. 通过AopContentent 二、访问权限不是pubilc 三、方法用final修饰 四、没有被spr…

 

目录

​编辑

一、方法内部调用

1、原理:

2、结论:

 3、解决方法:

1. 增加一个service,把一个事务的方法移到新增加的service方法里面,然后进行注入再调用

2. 在自己类中注入自己

3. 通过AopContentent

二、访问权限不是pubilc

三、方法用final修饰

四、没有被spring管理

五、数据库不支持事务

解决方案:使用InnoDB等支持事务的数据库引擎。

六、没有开启事务

七、错误的事务传播

八、自己捕获了异常

 1、 原因:

2.、解决方案:

        手动抛出异常或配置rollbackFor属性

九、手动抛出别的异常

十、自定义回滚异常

十一、多线程调用

十二、嵌套事务回滚过头

解决方法:


一、方法内部调用

在同一个类的service中,调用其他的事务方法

@Service
public class DemoService {@Transactionalpublic void query(Demo demo) {save(demo) ;}@Transactionalpublic void save(Demo demo) {}}

        可以看到,query方法调用了save的方法,由于spring的事务实现是因为aop生成代理,这样是直接调用了this对象,所以也不会生成事务。

1、原理:

        当spring容器启动的时候,发现有@EnableTransactionManagement注解,此时会拦截所有bean的创建,然后会扫描一下bean上是否有@Transaction注解(类、接口、或者方法上有这个注解都可以),如果有这个注解,spring会通过aop的方式给这个bean生成代理对象(代理对象中存在本类对象),代理对象中会增加一个拦截器,拦截器会拦截bean中public方法的执行,会在方法执行前启动事务,方法执行完毕之后提交或者回滚事务。

2、结论:

如果A和B两个方法在同一个类中
1、如果A加了@Transaction注解,B上有没有@Transaction注解,事务都是有效的,则AB 在同一个事务中。

2、如果A不加@Transaction注解,B上有没有@Transaction注解,事务都是无效的。

如果A和B两个方法不在同一个类中
1、如果A加了@Transaction注解,B上有没有@Transaction注解,事务都是有效的。

2、如果A不加@Transaction注解,B加了@Transaction注解,只有B是有事务的。

3、如果A不加@Transaction注解,B也不加@Transaction注解,A和B都是没有事务的。

简单理解:

        在同一个类中,只要A加了@Transaction注解,无论B加不加注解,AB都在同一个事务中,事务有效。

        如果AB在同一个类中,A不加注解,B加了注解,则事务失效;如果AB不同类,A不加注解,B加了注解,则只有B有事务。

原因分析:

        在A方法有@Transaction注解时,spring在管理的时候会生成一个代理类,在外部调用A方法时,实际执行的是代理类里面的方法,该代理类里面的方法已经包括了B方法的调用,已经成为了一个方法,所以事务是有效的。

 3、解决方法:


1. 增加一个service,把一个事务的方法移到新增加的service方法里面,然后进行注入再调用

@Service
public class DemoTwoService {@Transactionalpublic void save(Demo demo) {}
}@Service
public class DemoService {@AutowiredDemoTwoService demoTwoService;@Transactionalpublic  void query(Demo demo) {demoTwoService.save(demo);}
}

2. 在自己类中注入自己

@Service
public class DemoService {@AutowiredDemoService demoService;@Transactionalpublic  void query(Demo demo) {demoService.save(demo);}@Transactionalpublic void save(Demo demo) {}
}

由于这种写法基于spring的三级缓存不会导致,循环依赖的问题出现

3. 通过Aop


文章转载自:

http://sKUro6UF.qytpt.cn
http://Si9vnlYU.qytpt.cn
http://yaKKYsJP.qytpt.cn
http://UF9zba8G.qytpt.cn
http://6xYT148j.qytpt.cn
http://4W6W7gwY.qytpt.cn
http://gLuFNV4Z.qytpt.cn
http://jcJdIRta.qytpt.cn
http://US6i6Vlj.qytpt.cn
http://qTy856iP.qytpt.cn
http://QHWHiyHN.qytpt.cn
http://C5HMvJYX.qytpt.cn
http://nuR8szX2.qytpt.cn
http://9IKh8ruH.qytpt.cn
http://dp8Q4WNM.qytpt.cn
http://c0mHNjX6.qytpt.cn
http://no2Q87Vm.qytpt.cn
http://hkY02zQ3.qytpt.cn
http://DThXLLye.qytpt.cn
http://EkK2HVyy.qytpt.cn
http://O6qXCrdW.qytpt.cn
http://wzpgT14r.qytpt.cn
http://fv9o82YW.qytpt.cn
http://qWK258HW.qytpt.cn
http://GbW1Bop4.qytpt.cn
http://glgzr58g.qytpt.cn
http://nNHjkTVC.qytpt.cn
http://QUwGvUKL.qytpt.cn
http://oj1hjI7N.qytpt.cn
http://BRtoShFS.qytpt.cn
http://www.dtcms.com/wzjs/733833.html

相关文章:

  • 海外网站入口长尾关键词爱站
  • 网站做下cdn制作网页首页教程
  • 怎样分析网站做seo三亚政策最新消息
  • 全站仪建站视频多个网站做计划
  • 建网络商城网站网站建设的配置
  • 济南网站建设方案详细做空压机网站的公司有哪些
  • 网站排版图片企业网站欣赏郑州企业形象设计
  • 网站的打开速度做的网站乱码怎么搞
  • 拓吧网站站长之家ip地址归属查询
  • WordPress导出单页seo排名推广工具
  • 网站核验单 没有网站 怎么办网站注册协议
  • 比较有名的网站建设公司做彩票网站需要什么
  • 专业的建设网站想做网站制作运营注册什么公司核实
  • 做网站的私活做电脑系统网站
  • 如何制作网站平台做网站如何赚钱知乎
  • 昆山网站建设培训word模板免费下载
  • 网站右下角视频代码邢台哪里有做网站的
  • 重庆网站设计哪家好温州网站建设这个
  • 十堰电商网站建设看过的网站做记号
  • 可信的郑州网站建设购买域名如何建设网站
  • 聊城做wap网站找谁化工外贸网站建设
  • 自动生成网页的工具企业网站seo推广
  • 律师事务所公司类网站建设案例06年可以做相册视频的网站
  • 网站开发问卷调查海澜之家网站建设水平
  • 网站建设和优化需要几个人建设工程合同的内容
  • 做彩票网站模板网站建设中界面模板下载
  • 长沙建站找有为太极环境遵商务网站建设与维护流程
  • 农八师建设兵团社保网站中国材料价格网
  • 北京住房建设部网站首页建设银行储蓄卡余额查询系统
  • 建立企业网站选什么好中国网站开发用盗版犯法