为什么事务需要框架来支持??!

问题一:对于“框架提供事务的支持”这事,一直很容易让初学者困惑的是:事务本身是由数据库实现的,既然数据库通过“start transaction"命令开启事务,通过commit命令结束事务,那么需要用到事务的时候只要通过jdbc发送start transaction指令,然后使用commit提交事务就可以了,为什么还要弄得那么复杂?
问题二:事务这东西属于数据库的,那不就是应该有持久化框架(比如hibernate,mybatis)来解决事务管理的事吗?为什么Spring来“搅这趟浑水”??

阅读 3.2k
2 个回答

与其说Spring提供事务的支持,不如说是Spring封装了事务的操作。

在Spring中提供了统一的事务接口,我们在使用Spring事务时只需要关心业务与事务的处理流程,不再需要关心事务具体是通过什么驱动来实现的。
这就像是JDBC提供了统一接口操作不同的数据库的这种设计模式一个道理。

Spring是管理其它框架的管理者。事务要是交给数据库,数据库的代码量会加大,而且高手才能写出优秀的数据库事务,spring封装好就更简单了,直接在业务逻辑层加事务肯定要方便...肯定会越来越机械化...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题