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