编程式事务控制

         自己手动控制事务,就叫做编程式事务控制。

         Jdbc代码:

                   Conn.setAutoCommite(false);  // 设置手动控制事务

         Hibernate代码:

                   Session.beginTransaction();    // 开启一个事务

         【细粒度的事务控制: 可以对指定的方法、指定的方法的某几行添加事务控制】

         (比较灵活,但开发起来比较繁琐: 每次都要开启、提交、回滚.)

 

声明式事务控制

         Spring提供了对事务的管理, 这个就叫声明式事务管理。

         Spring提供了对事务控制的实现。用户如果想用Spring的声明式事务管理,只需要在配置文件中配置即可; 不想使用时直接移除配置。这个实现了对事务控制的最大程度的解耦。

         Spring声明式事务管理,核心实现就是基于Aop。

         【粗粒度的事务控制: 只能给整个方法应用事务,不可以对方法的某几行应用事务。】

         (因为aop拦截的是方法。)

 

         Spring声明式事务管理器类:

                   Jdbc技术:DataSourceTransactionManager

                   Hibernate技术:HibernateTransactionManager