Spring Boot数据访问之整合Mybatis
在Mybatis整合Spring - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中谈到了Spring和Mybatis整合需要整合的点在哪些方面,需要将Mybatis中数据库连接池等相关对象交给Spring管理,需要进行bean的相关配置。Spring Boot与Mybatis的整合更加简化都不用配置,直接导入依赖坐标即可(在Spring Boot数据访问之数据源自动配置 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)的基础上),如下:
测试案例:
测试结果:
这个过程没有任何关于mybatis数据源连接池等方法的配置,直接使用了mybatis创建的resumeDao。
以上整合过程应该同Mybatis整合Spring一样需要做到一下几点:
1)数据库连接池以及事务管理都交给Spring容器完成;
2)SqlSessionFactory对象应该放到Spring容器中作为单例对象管理;
3)Mapper动态代理对象交给Spring管理,需要时从Spring容器中直接获得Mapper的代理对象。
那么看看mybatis-spring-boot-starter怎么处理的,与Mybatis整合Spring - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中的处理是否有区别?
查看其下spring.factories文件找到自动配置类
阅读这个类的源码,其自动配置就是在这个类中将Mybatis中对外提供接口利用java Bean方式进行了配置注入到Spring容器,具体源码不在此处分析了。