Spring的聲明式事務有以下幾種配置方法:
1、ProxyFactoryBean/Transaction Interceptor
2、TransactionProxyFactoryBean
3、BeanNameAutoProxyCreator
4、Source-Level Metadata Using Commons Attributes
5、Source-Level Metadata Using J2SE 5.0 Annotations
個人認為4和5第一次配置完成后,以后再增加新的bean時會比較簡單,但單單從配置文件上看不易理解。
本人推薦使用2,配置也十分簡單,比較容易理解,利用維護人員的維護工作,在我做的項目中都是使用這種配置方式。
另外最好每個模塊單獨一個配置文件,在web.xml中contextConfigLocation的param-value中全部加進來。這樣實際上就解決了使用2時產生的配置文件太大的問題。
例子:
dataAccess-hibernate.xml




















ticket-service.xml (ticket模塊)































web.xml






這是本人在項目中采取的配置。proxy注入service,service注入dao,配置簡單明了,如果一個模塊中有多個Service類,可以依次添加即可。