当前位置: 代码迷 >> 综合 >> spring mvc+mybatis+dbcp+maven多模块项目的搭建遇到的问题(一)
  详细解决方案

spring mvc+mybatis+dbcp+maven多模块项目的搭建遇到的问题(一)

热度:99   发布时间:2024-01-16 09:20:35.0

项目搭建的过程网上一大堆

一、首先碰到的是依赖的问题
由于Maven的依赖关系是传递性的,因此ecar_web只需要依赖于ecar_service

依赖可以一层套一层,也就是说在web依赖service,service依赖dao层的时候,web层可以直接使用dao层的类的。

现在项目的依赖关系

ecar_api 和 ecar_web依赖于ecar_service

ecar_service依赖于ecar_handler和ecar_resource

依赖后来出了问题,因为service层module的pom.xml没有引用spring,所以@Service注解不能实现功能,所以还是需要在里面配置一下
二、整合spring和mybatis的问题

在配置mybatis整合到spring项目的时候,因为使用了maven多模块,所以在使用的时候不懂配置。

以前的项目直接这样配置,没有出现找不到mybatis的mapping文件的问题。

<!-- 3.配置SqlSessionFactory对象 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 注入数据库连接池 --><property name="dataSource" ref="dataSource" /><!-- 配置MyBaties全局配置文件:mybatis-config.xml --><property name="configLocation" value="classpath:mybatis/mybatis-config.xml" /><!-- 扫描sql配置文件:mapper需要的xml文件 --><property name="mapperLocations" value="classpath:com/car_rescure/mapping/*.xml" /></bean><!-- 4.配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 注入sqlSessionFactory --><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /><!-- 给出需要扫描Dao接口包 --><property name="basePackage" value="com.car_rescure.dao" /></bean>

但是现在是多模块的直接报错,

mybatis Could not resolve resource location pattern [classpath:com/ecar/mapping/*.xml]

不知道是不是跟多模块的问题,然后随便谷歌了一下,在stackflow里面发现有人配置的是


尝试了一下使用classpath*:居然没报错了,虽然这样但是还是报了其他错误,因为那个原项目的网页复制过来包换了,jsp的import类出了问题,导致那个jsp除了问题。现在没什么问题项目能跑了。


	<!-- mybatis的配置文件 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><property name="mapperLocations" value="classpath*:com/ecar/mapping/*.xml"/></bean><!-- spring与mybatis整合配置,扫描所有dao --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.ecar.mapper"/></bean>

传送门解释classpath和classpath*的问题https://blog.csdn.net/kkdelta/article/details/5507799

  相关解决方案