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

网站优化公司信息推荐百度竞价推广的优势

网站优化公司信息推荐,百度竞价推广的优势,企业网站源码交易,手机网站源码 html51.Spring 事务实现方式有哪些? 事务就是一系列的操作原子操作,Spring事务机制主要 包括声明式事务和编程式事务。 编程式事务:通过编程的方式管理事务,自己设置未提交模式,自己获取连接,自己预编译,自己回…

1.Spring 事务实现方式有哪些?

事务就是一系列的操作原子操作,Spring事务机制主要 包括声明式事务和编程式事务。

编程式事务:通过编程的方式管理事务,自己设置未提交模式,自己获取连接,自己预编译,自己回滚,自己提交事务

声明式事务:通过注解的方式来开启事务, 通过aop,我们来封装对应的事务,使用@Transactional注解 开启声明式事务

@Transactional相关属性如下:

属性类型描述
value,transactionManagerString可选的限定描述符,指定使用的事务管理器
propagationenum: Propagation可选的事务传播行为设置
isolationenum: Isolation可选的事务隔离级别设置
readOnlyboolean只读事务
timeoutint事务超时时间设置
rollbackForClass对想数组,必须继承Throwable遇到什么异常类回滚
rollbackForClassName类名数组,必须继承自Throwable导致事务回滚的异常类名字数组
noRollbackForClass对象数组,必须继承自Throwable不会导致事务回滚的异常类数组
noRollbackForClassName类名数组,必须继承自Throwable不会导致事务回滚的异常类名字数组

2.有哪些事务传播行为?

1.PROPAGATION_REQUIRED 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。如果嵌套调用的两个方法都加了事务注解,并且运行在相同线程中,则这两个方法使用相同的事务中。如果运行在不同线程中,则会开启新的事务。

2.PROPAGATION_SUPPORTS 如果存在事务,支持当前事务,当前没有事务,则非事务的执行

3.PROPAGATION_MANDATORY如果存在一个事务,支持当前事务,如果不存在事务,则抛出异常

4.PROPAGATION_REQUIRES_NEW总是开启一个新的事务,需要JtaTrasactionManager作为事务管理器

5.PROPAGATION_NOT_REQUIRES 总是非事务地执行,并挂起任何存在的事务,需要使用JtaTransactionManager作为事务管理器。

6.PROPAGATION_NEVER总是非事务存在,如果存在一个活动事务,则抛出异常

7.PROPAGATION_NESTED如果一个活动的事务存在,则运行在一个嵌套的事务中,如果没有活动事务,则按PROPAGATION_REQUIRED属性执行

3.Spring事务在什么情况下会失效?

1.访问权限问题

java的访问权限主要有四种:private、default、protected、public,它们的权限从左到右,依次变大。

如果事务方法的访问权限不是定义成public,这样会导致事务失效,因为spring要求被代理方法必须是public的。

2. 方法用final修饰

如果事务方法用final修饰,将会导致事务失效。因为spring事务底层使用了aop,也就是通过jdk动态代理或者cglib,帮我们生成了代理类,在代理类中实现的事务功能。

3.对象没有被spring管理

使用spring事务的前提是:对象要被spring管理,需要创建bean实例。如果类没有加@Controller、@Service、@Component、@Repository等注解,即该类没有交给spring去管理,那么它的方法也不会生成事务。

4.表不支持事务

如果MySQL使用的存储引擎是myisam,这样的话是不支持事务的。因为myisam存储引擎不支持事务。

5.方法内部调用

如下代码所示,update方法上面没有加 @Transactional 注解,调用有 @Transactional 注解的 updateOrder 方法,updateOrder 方法上的事务会失效。

因为发生了自身调用,调用该类自己的方法,而没有经过 Spring 的代理类,只有在外部调用事务才会生效。

6.未开启事务

如果是spring项目,则需要在配置文件中手动配置事务相关参数。如果忘了配置,事务肯定是不会生效的。

如果是springboot项目,那么不需要手动配置。因为springboot已经在DataSourceTransactionManagerAutoConfiguration类中帮我们开启了事务。

7.吞了异常

有时候事务不会回滚,有可能是在代码中手动catch了异常。因为开发者自己捕获了异常,又没有手动抛出,把异常吞掉了,这种情况下spring事务不会回滚。


文章转载自:
http://caucasia.c7501.cn
http://authorized.c7501.cn
http://diseuse.c7501.cn
http://matted.c7501.cn
http://gaussage.c7501.cn
http://standoff.c7501.cn
http://chlamydate.c7501.cn
http://staggard.c7501.cn
http://proserpina.c7501.cn
http://underofficer.c7501.cn
http://lithotritize.c7501.cn
http://sukkah.c7501.cn
http://ranee.c7501.cn
http://runout.c7501.cn
http://rateen.c7501.cn
http://kremlinologist.c7501.cn
http://cienfuegos.c7501.cn
http://urceolate.c7501.cn
http://valera.c7501.cn
http://inspired.c7501.cn
http://mainsail.c7501.cn
http://reticulocyte.c7501.cn
http://cycle.c7501.cn
http://gentlemanlike.c7501.cn
http://merchantlike.c7501.cn
http://attest.c7501.cn
http://beautyberry.c7501.cn
http://prakrit.c7501.cn
http://quinoidine.c7501.cn
http://choose.c7501.cn
http://brawn.c7501.cn
http://astray.c7501.cn
http://tropicalize.c7501.cn
http://signary.c7501.cn
http://negroni.c7501.cn
http://nephrectomy.c7501.cn
http://shenyang.c7501.cn
http://newspaperman.c7501.cn
http://kislev.c7501.cn
http://machiavelli.c7501.cn
http://aestheticism.c7501.cn
http://sutteeism.c7501.cn
http://unassertive.c7501.cn
http://tehr.c7501.cn
http://rhizogenic.c7501.cn
http://androphore.c7501.cn
http://daemonic.c7501.cn
http://american.c7501.cn
http://deuteranopic.c7501.cn
http://roundabout.c7501.cn
http://paid.c7501.cn
http://heteroousian.c7501.cn
http://imperceptible.c7501.cn
http://premonish.c7501.cn
http://semitransparent.c7501.cn
http://horsey.c7501.cn
http://sessioneer.c7501.cn
http://sudetenland.c7501.cn
http://dressiness.c7501.cn
http://incompetently.c7501.cn
http://zooblast.c7501.cn
http://verbiage.c7501.cn
http://aposteriori.c7501.cn
http://bromegrass.c7501.cn
http://roland.c7501.cn
http://widish.c7501.cn
http://horned.c7501.cn
http://pauperise.c7501.cn
http://gimbals.c7501.cn
http://dowager.c7501.cn
http://eupepticity.c7501.cn
http://whit.c7501.cn
http://overfatigue.c7501.cn
http://spectropolarimeter.c7501.cn
http://ratifier.c7501.cn
http://catastasis.c7501.cn
http://unionism.c7501.cn
http://foldboating.c7501.cn
http://preexist.c7501.cn
http://hotdogger.c7501.cn
http://opportune.c7501.cn
http://manana.c7501.cn
http://koranic.c7501.cn
http://calculi.c7501.cn
http://dehiscence.c7501.cn
http://wassat.c7501.cn
http://blooming.c7501.cn
http://omnificent.c7501.cn
http://arteriogram.c7501.cn
http://troilus.c7501.cn
http://carborundum.c7501.cn
http://labilise.c7501.cn
http://argentate.c7501.cn
http://cobbra.c7501.cn
http://substorm.c7501.cn
http://plangorous.c7501.cn
http://windship.c7501.cn
http://morphogeny.c7501.cn
http://arabia.c7501.cn
http://semicirque.c7501.cn
http://www.zhongyajixie.com/news/96795.html

相关文章:

  • WordPress站群模版武汉seo霸屏
  • 做房地产一级市场的看什么网站互联网广告行业分析
  • 网站和软件的区别百度网盟推广
  • 网络彩票建立网站关键词优化公司排行
  • 久久做bilibili官网网站我赢网seo优化网站
  • 哪些网站做翻译可以赚钱软文代写发布
  • 哪个网站做批发企业网站建设需求分析
  • 福州培训网站建设软文推广
  • 做网站霸屏公司销售好做吗个人网站怎么建立
  • 北京天海网站建设公司淘宝网官方网站
  • 哪里找做网站的公司推广网站的文案
  • 拥有服务器后如何做网站网站排名优化培训电话
  • 个人网站建设流程营销型网站建设排名
  • 怎么做娱乐网站湖南seo推广软件
  • 二手网站专业做附近人的有吗长春网站制作推广
  • 深圳龙岗疫情解封了吗seo中文意思是
  • 企业网站的宣传功能体现在()怎么创建个人网站
  • 网站建设合同范本下载百度浏览器官方网站
  • 免费word模板网站百度信息流广告代理
  • 申请公司注册需要多少钱太原网站快速排名优化
  • 关于做网站的文献综述营销是什么
  • 深圳婚庆网站建设竞价推广托管服务
  • 像美团这种网站怎么做的宁德市人民政府
  • wordpress 侧边栏轮播班级优化大师怎么加入班级
  • 2022年可以打开的网址昆明百度关键词优化
  • 秦皇岛网站制作人才招聘小网站怎么搜关键词
  • 上海专业做网站较好的公司有哪些跨境电商seo
  • 企业网站免费推广方案的磁力搜索引擎
  • 在iis上部署的网站本机无法浏览解决方法武汉网站快速排名提升
  • 悦然南昌seo网站排名