1. 在 src 下新建 xxx.properties 文件 2. 在 spring 配置文件中先引入 xmlns:context,在下面添加
  2. 1 如果需要记载多个配置文件逗号分割
    <context:property-placeholder
    <bean class="org&#46;mybatis&#46;spring&#46;mapper&#46;MapperScannerConfigu rer"> </bean>location="classpath:db.properties"/>
  3. 添加了属性文件记载,并且在<beans>中开启自动注入注意的地方:</beans>
  4. 1 SqlSessionFactoryBean 的 id 不能叫做 sqlSessionFactory 3.2 修改
  5. 2.1 把原来通过ref引用替换成value赋值,自动注入只能影响 ref,不会影响 value 赋值
    图片说明

理解:自动注入注解方式优先级过高,如图,basePackage类创建对象的过程中,会需要sqlSessionFactory属性,所以会继续创建sqlSessionFactory对象,此时还没有到加载其他文件阶段,所以创建sqlSessionFactory的时候数据源的参数都没有值,所以一定会失败;
解决方法就是将 ref 改为 value,此时不再是引用对象,而是一个类似String字符串的普通变量,就解决了问题