转自:http://blog.csdn.net/qq_26222859/article/details/50739871
connection、session这些资源是非线程安全的,在同一时间是不能多线程共享的。
事务同步管理器使用threadlocal为不同事务线程提供了独立的资源副本。由此线程与它的资源副本绑定。
通过资源获取工具可以获取和当前线程绑定的资源。
模板类需要绑定连接或会话的资源, 在内部通过资源获取工具类间接访问connection变量 。
书294页介绍了一些线程绑定 资源获取工具
书115页说到
因为spring利用localthread的功能,对非线程安全的变量进行了特殊处理,所以持有这些变量的非线程安全的类成了线程安全的类。
所以 jdbctemplate是线程安全的
所以dao是线程安全的。