本文主要是介绍SqlSessionTemplate 如何保证线程安全性以及关联 Spring Framework 事务?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
本文源码使用到 Jar 包版本约束如下:
- Spring Boot,2.4.12;
mybatis-spring-boot-starter
,1.3.2;
一、概述
博客《Mybatis 向 Spring IOC 容器注册的 Mapper 接口是啥?》分析到,Mybatis 会为每个 Mapper 接口向 Spring IOC 容器注册一个 MapperProxy
对象,该对象包含一个 SqlSession
类型的 sqlSession
属性,且该属性引用从 MybatisAutoConfiguration
配置类注册的 SqlSessionTemplate
。本着“知其然知其所以,然追源溯本,融会贯通”的学习精神,不禁困惑 —— 为什么是 SqlSessionTemplate
,而不是 SqlSession
的其他实现类比如 DefaultSqlSession
, SqlSessionTemplate
解决了哪些问题?
本文基于源码,从如下几个着重点解决这个问题:
DefaultSqlSession
线程不安全分析;SqlSessionTemplate
如何保证线程安全性;
这篇关于SqlSessionTemplate 如何保证线程安全性以及关联 Spring Framework 事务?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!