zoukankan      html  css  js  c++  java
  • 两种Spring事务管理方式:编程式、声明式 跟spring aop管理事务有什么不同?

    声明式就是提前指派,在为某些包,类,方法,指定好受事物管理,需要再配置文件中配置
    编程式就是程序员在程序里自由发挥,启动事物管理了,aop是面向切面编程,把程序执行的过程看成一条连贯的线,aop就是在指定的点切一刀,凡是经过这点的操作都必须先执行aop定义好的操作,好处就是在不影响原程序的情况下,方便的加入或删除附加的逻辑处理操作,比如日志记录,权限控制等
     
     
    编程式事务与声明式事务的区别是什么?
    编程式事务是自己写事务处理的类,然后调用
    声明式事务是在配置文件中配置,一般搭配在框架里面使用!
     
    声明式事务
    声明式事务(declarative transaction management)是Spring提供的对程序事务管理的方式之一。
    Spring的声明式事务顾名思义就是采用声明的方式来处理事务。这里所说的声明,就是指在配置文件中申明。用在Spring配置文件中声明式的处理事务来代替代码式的处理事务。这样的好处是,事务管理不侵入开发的组件,具体来说,业务逻辑对象就不会意识到正在事务管理之中,事实上也应该如此,因为事务管理是属于系统层面的服务,而不是业务逻辑的一部分,如果想要改变事务管理策划的话,也只需要在定义文件中重新配置即可;在不需要事务管理的时候,只要在设定文件上修改一下,即可移去事务管理服务,无需改变代码重新编译,这样维护起来极其方便。
    Spring使用AOP来完成声明式的事务管理,因而声明式事务是以方法为单位,Spring的事务属性自然就在于描述事务应用至方法上的策略,在Spring中事务属性有以下四个参数:
    1.传播行为
    2.隔离级别
    3.只读提示
    4.事务超时期间
     
    spring事务的问题!!!谢谢~~!!!
    比方说.我有三个方法 inserts();insertA();insertB();
    在inserts();中调用A&B这两个方法.分别去执行不同的数据库操作
    A&B两个方法中都做了try{}catch{}的异常处理
    在inserts()方法上加入spring事务(Propagation.REQUIRED)
    那么.当insertA()保存成功之后insertB()保存失败.
    请问.A是不是就不能回滚了?有没有什么解决办法?
     
    检举| 2011-11-28 11:58提问者采纳
    你先要知道事务的特性 
    事务四大特性(简称ACID)  
     
    1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。 
    2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。 
    3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。 
    4、持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。 
    你在inserts()中使用了事务 而在这个方法中分别调用了a和b方法 那么只要a和b方法哪一个出现了异常 那么整个事务都会回滚 
    当然你可以在spring中配置声明式事务 那就没必要去手动处理事务了 
    只需要在配置文件中进行配置即可追问您 好..可是.我在A&B中都做了try{}catch{}的异常捕捉处理///一样还会回滚么?回答当然会 要学会去尝试 你自己试试就知道了 自己动手的话 印象深刻些提问者评价好的..谢谢
     
     
    声明式事务与编程式事务的区别与联系
    请详细解释编程式事务、声明式事务。及两者的优缺点。
    一定要说清楚什么是声明式事务,什么事编程式事务。
    小弟的财富值下载文档用光了,不好意思。
     
    检举| 2011-01-06 10:26提问者采纳
    Spring的声明式事务通常是指在配置文件中对事务进行配置声明,其中包括了很多声明属性,具体可以参考《Spring高级编程》这本书,它是通过Spring Proxy帮你做代理,自己不用额外的写代码,只要在Spring配置文件中声明即可;通常用在数据库的操作里面;
    编程式事务就是指通过硬编码的方式做事务处理,这种处理方式需要写代码,事务中的逻辑可以自己定制;可以是数据库的东东,也可以是其他的操作。。。提问者评价你真棒,学习了
  • 相关阅读:
    《20171101-构建之法:现代软件工程-阅读笔记》
    《软件工程课程总结》
    《20171122-构建之法:现代软件工程-阅读笔记》) (5分)
    阅读任务-阅读提问-4
    《20171115构建之法:现代软件工程-阅读笔记》)
    对软件工程的期望
    自我介绍
    Javaweb学习计划
    分布式事务解决方案
    countdown模式
  • 原文地址:https://www.cnblogs.com/huapox/p/3251484.html
Copyright © 2011-2022 走看看