关于如何正确使用jdbc的transaction的问题,我想了很久,直接看到以下这篇文章,
http://www.cnblogs.com/CloudTeng/archive/2013/02/23/2923385.html
基本的思路,
1. 不能将connection定义在service中,这是有臭味的api;
2. 不能在DAO层定义全局connection,线程不安全;
3. 可以在DAO层定义全局DataSource,然后获取connection;
4. 引入ThreadLocal, 保证线程安全。
在以上的基础上,实现Template模式的事务管理,very good!
http://www.cnblogs.com/CloudTeng/archive/2013/02/23/2923605.html