spring 事务笔记

来源:互联网 发布:淘宝信誉分怎么看 编辑:程序博客网 时间:2024/05/30 13:42
spring的事务管理 spring3.0的289页
事务源 事物抽象 
数据库事物
事物的特性 
    原子性--一个事务的多个数据库操作 是一个原子 
    一致性--事务成功后,数据库的状态和业务模型规则一致
    隔离性--不会对其他无关事务造成影响
    持久性--要持久化到磁盘介质
数据库日志保障事务的特性,和错误恢复


数据库锁的机制
    数据库通过锁的机制解决多线程下的访问的一致性,
        按锁定对象分 分为表锁和行锁
        按锁定关系分 分为共享锁和独占锁
    数据修改的时候必须要锁定(INSERT\ UPDATE\ DELETE\ SELECT FOR UPDATE)
    事务的提交
oracle的5种锁定 293
    共享锁可以防止其他任务的独占锁
事务的xml配置 310
    事务的回滚配置
spring的事务配置实质是事务的增强?
    把事务的5个特性保障交给spring处理。spring有自己的机制。不用spring的话每次hibernate操作会马上提交。
    不使用事务时,每次调用hibernateTemplate的方法会立刻进行事务提交
    而使用事务后,会在你配置的类的方法执行完成后再进行事务提交,如果一个方法中同时进行了多次的插入、修改或删除操作,会统一的进行提交或回滚,这样可以保证数据操作会同时成功或失败,保证数据的完整性.
    假设你有一个事务,要提交两个数据库操作请求(假设请求1是在A表插入一条数据,请求2是在B表插入一条数据)。而两个请求要求要么都成功,要不成功都不执行。你可以将两个请求放在一个事务里,就可以完成上面的要求!要是不加,你怎么保证第二个数据库请求失败的时候,第一个请求回滚!
    
    问题1: 事务和任务有什么区别?
    事务专指数据库的事务
    任务是有点像定时任务的东西,就想crobtab,一般用quantz
    
    问题2: spring MVC和struts2的区别
    spring MVC是基于servlet servlet是最原始的jave web开发进化顺序:servlet ---> JSP ---> Struts2/ spring mvc...
    Struts2 是基于拦截器
0 0
原创粉丝点击