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

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

一、首先碰到的是依赖的问题

由于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

猜你喜欢

转载自blog.csdn.net/searlas/article/details/80328115