spring boot 与mybatis整合,type-aliases-package、type-handlers-package等配置不起作用,导致类加载失败
2017-04-14 00:06
3447 查看
spring boot 与mybatis整合,type-aliases-package、type-handlers-package等配置不起作用,导致类加载失败
刚刚接触spring boot,项目中整合了mybatis,但配置没用mybatis-spring-boot-autoconfigure自动配置,导致mybatis的配置:mybatis.type-aliases-package=com.example.domain.model mybatis.type-handlers-package=com.example.typehandler在java -jar xxx.war 运行方式,自动扫描机制不起作用,发生类加载失败异常: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'XXXXX'. Cause: java.lang.ClassNotFoundException: Cannot find class: XXXXX 一开始猜测mybatis在spring boot环境中的bug,扫描这些包中的类,但类加载找不到,肯定找的路径不对,所以肯定是这一块出现了问题,搜了下github上的issue,找到了关键点:https://github.com/mybatis/spring-boot-starter/issues/21https://github.com/StripesFramework/stripes/issues/35org.mybatis.spring.SqlSessionFactoryBeanpublic void setVfs(Class<? extends org.apache.ibatis.io.VFS> vfs)spring boot这种运行方式的文件系统与之前的不一样,所以mybatis需要设置spring boot vsf。
sqlSessionFactoryBean.setVfs(SpringBootVFS.class);由于源码这块还没好好看,如果你看过源码,也会看到mybatis-spring-boot-autoconfigure中的配置:
MybatisAutoConfiguration类:
@Bean@ConditionalOnMissingBeanpublic SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {SqlSessionFactoryBean factory = new SqlSessionFactoryBean();factory.setDataSource(dataSource);factory.setVfs(SpringBootVFS.class);最后一行的配置,说明了mybatis对应spring boot环境的配置, 至于怎么扫描的,请看源码
SpringBootVFS
相关文章推荐
- Mybatis整合Spring -- typeAliasesPackage
- Springboot+mybatis实现typeAliasesPackage正则扫描package中的bean
- Mybatis整合Spring -- typeAliasesPackage
- Mybatis整合Spring -- typeAliasesPackage
- Mybatis整合Spring -- typeAliasesPackage
- springboot整合mybatis,动态数据源配置
- Mybatis配置报错元素类型为 "configuration" 的内容必须匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectFa
- spring+mybatis 注入properties文件中属性失败导致datasource加载失败的原因和解决
- spring-boot | 使员Druid 整合Mybatis 最简配置多数据源
- Mybatis之XML配置文件之properties,settings,typeAliases,typeHandlers
- Spring boot + mysql +mybatis 配置整合实例
- Spring+Spring MVC+Mybatis整合配置AOP不生效的解决方案以及Bean初始化重复加载两次(疑难杂症)
- springboot学习笔记-2 一些常用的配置以及整合mybatis
- SpringBoot整合Mybatis报错:Consider defining a bean of type 'xx.xx.xx' in your configur
- JAVAWEB开发之mybatis详解(二)——高级映射、查询缓存、mybatis与Spring整合以及懒加载的配置和逆向工程
- JAVAWEB开发之mybatis详解(二)——高级映射、查询缓存、mybatis与Spring整合以及懒加载的配置和逆向工程
- Mybatis 配置出现元素类型为 "configuration" 的内容必须匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectF
- mybatis+spring 整合配置延迟加载
- SpringBoot+Mybatis整合报,service注入失败,dao注入失败,
- Spring boot入门五 spring mvc spring boot mybatis配置整合