spring boot +springMVC +mybatis整合踩过的坑
2017-07-23 11:21
387 查看
刚刚接触spring boot 不久,目前对spring boot的最直观的理解是spring boot 通过注解的方式大大减少了spring 原有的配置文件。最近做的就是将原有的spring +springMVC+mybatis的工程改造成springboot+springMVC+mybatis。废话不多说,下面是改造过程中遇到的坑:
1.Application启动类的位置
首先Application上要添加@SpringBootApplication注解,该注解等于@Configuration + @EnableAutoConfiguration + @ComponentScan的作用。因此如要扫描文件的时候application最好放到根目录下,例如工程结构是
这样就可以扫描到application同级的包以及application所在包的子包。否则会报找不到错误。
2.application.properties
这个属性文件是spring boot启动自动加载的文件,我目前在在文件里配置了数据库的连接属性和mybatis自动扫描的属性以及端口号配置,如端口server.port=8033。
3.自动扫描mybatis
首先在application.properties中添加两个属性,第一个:mybatis.type-aliases-package,这个key的value是你的pojo所在的包的路径它的作用是配合mybatis扫描。第二个:mybatis.mapper-locations,这个key的value是扫描你的Mapper.xml文件。例如
其次需要创建一个数据源配置类
4.Maven依赖中添加dubbo依赖,dubbo自带spring依赖会和spring boot的依赖发生冲突
因为工程中用到了dubbo,所以在pom.xml文件中添加了dubbo的依赖,直接运行Application启动类可以启动,如果在Maven build中使用spring-boot:run启动则报如下异常
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator':
Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception
is java.lang.NoSuchMethodError: org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(I)Ljava/util/Map;
后来经过一系列排错,把问题定位在jar冲突上,于是又把pom.xml中的依赖逐个排查,最后发现是duboo本身自带的spring的包和spring boot 中的包冲突导致的,于是改成
项目正常启动,数据访问也一切正常。
以上是自己改造时遇到的问题。
1.Application启动类的位置
首先Application上要添加@SpringBootApplication注解,该注解等于@Configuration + @EnableAutoConfiguration + @ComponentScan的作用。因此如要扫描文件的时候application最好放到根目录下,例如工程结构是
这样就可以扫描到application同级的包以及application所在包的子包。否则会报找不到错误。
2.application.properties
这个属性文件是spring boot启动自动加载的文件,我目前在在文件里配置了数据库的连接属性和mybatis自动扫描的属性以及端口号配置,如端口server.port=8033。
3.自动扫描mybatis
首先在application.properties中添加两个属性,第一个:mybatis.type-aliases-package,这个key的value是你的pojo所在的包的路径它的作用是配合mybatis扫描。第二个:mybatis.mapper-locations,这个key的value是扫描你的Mapper.xml文件。例如
其次需要创建一个数据源配置类
4.Maven依赖中添加dubbo依赖,dubbo自带spring依赖会和spring boot的依赖发生冲突
因为工程中用到了dubbo,所以在pom.xml文件中添加了dubbo的依赖,直接运行Application启动类可以启动,如果在Maven build中使用spring-boot:run启动则报如下异常
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.config.internalAutoProxyCreator':
Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator]: Constructor threw exception; nested exception
is java.lang.NoSuchMethodError: org.springframework.core.CollectionFactory.createConcurrentMapIfPossible(I)Ljava/util/Map;
后来经过一系列排错,把问题定位在jar冲突上,于是又把pom.xml中的依赖逐个排查,最后发现是duboo本身自带的spring的包和spring boot 中的包冲突导致的,于是改成
项目正常启动,数据访问也一切正常。
以上是自己改造时遇到的问题。
相关文章推荐
- Spring boot入门五 spring mvc spring boot mybatis配置整合
- SpringBoot+SpringMVC+MybatisPlus框架整合
- Spring boot入门五 spring mvc spring boot mybatis配置整合
- springboot+mybatis+springmvc整合实例
- springboot+springmvc+mybatis项目整合
- Spring boot+Shiro+ spring MVC+swagger UI +Mybatis+mysql+Vue +Element UI 之一vue和spring boot整合
- Web项目下整合springBoot+springMVC+mybatis+boot内嵌tomcat以及所需jar包
- Spring boot+Shiro+ spring MVC+swagger UI +Mybatis+mysql+Vue +Element UI 之四 vue 整合Element UI
- springboot+springmvc+mybatis项目整合
- springMVC+MyBatis+Spring+maven 整合(1)
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(八)mysql中文查询bug修复
- 【转载】SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 第五章:Dubbo整合maven+spring+springmvc+mybatis-dubbo源码下载
- 解决spring boot整合mybatis时 返回map value为空字段不显示
- Spring+SpringMvc+Mybatis整合
- Spring boot怎么整合Mybatis
- Spring SpringMvc 3.0 + MyBatis 整合--补充关于.properties文件的读取
- SpringMVC+Mybatis框架整合源码 项目