再加上
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.skg.crm.system.persistence.dao.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
这个配置之后, dataSource 读取配置文件里面的 内容 失效。。。 百度了一通 , 发现 还是不行 解决方法:把关于mybatis的map的配置写到另外一个文件中,然后把新文件的beans的default-autowire="byName"属性干掉,就解决这个问题了 即将 datasource 放入另一个配置文件里面,然后 再 配置 MapperScannerConfigurer"
<context:annotation-config />
<import resource="base-db-mybatis.xml"/>
<!-- MyBatis 动态扫描 自动扫描 将Mapper接口生成代理注入到Spring
basePackage 属性是让你为映射器接口文件设置基本的包路径。
你可以使用分号或逗号 作为分隔符设置多于一个的包路径。
每个映射器将会在指定的 包路径中递归地被搜索到。即 只要 写dao的接口,不用写实现,会自动帮我们实现的
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.skg.crm.system.persistence.dao.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
<!-- 每个领域对象的定义 -->
<context:component-scan base-package="com.skg.gl.*" />
<context:component-scan base-package="com.skg.crm.*" />
<context:component-scan base-package="com.skg.crm.service.*" />
和 配置 包扫描什么的 并没有 什么关系 参考地址: https://my.oschina.net/u/1455908/blog/215953