Spring框架在多大程度上适用于事务处理?我读过《 Spring In Action》一书中的建议,并提供了一些示例,这些示例创建了不用担心会话和事务管理的DAO方法,只需通过以XML设置会话工厂和事务模板,然后将它们连接到DAO中即可。另一方面,SpringSource.org的文档建议需要大量的XML和/或注释才能实现此目的。
真相是什么,我按照以下方式获取代码的最简单方法是什么?
get session from sessionfactory open transaction preform database actions commit transaction with error handling
并使其
preform database actions
减少我在所有方法中拥有的样板交易代码的数量?
Spring提供了至少3种事务划分方法:
1)通过TransactionTemplate或PlatformTransactionManager进行程序化处理-点亮配置,但具有侵入性
2)通过XML进行声明-详细的XML,但非侵入性
3)通过注释进行声明-轻于XML,无创
您选择哪一个取决于最适合您的需求,Spring不会为您做出选择。从您的问题看来,注解方法就是您所追求的。
我建议阅读Spring参考手册中的注释驱动的事务处理部分。简洁明了。
我总是先查阅ref文档,如果文档中未包含该书,则只会查阅一本书。