项目搭建的过程网上一大堆
一、首先碰到的是依赖的问题
由于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