最近在做的ssm项目在junit测试是发现jdbc.properties文件读取不到数据库配置文件,开始以为是配置文件有错,后来才发现是jdbc.properties文件中存在空格导致的错误。下面来总结以下可能的错误:背景:ssm框架+mysql(c3p0数据源配置)
方法一:最常见的是:<context:property-placeholder location="classpath:jdbc.properties"/>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.xxxx.dal.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
<!-- <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> -->
</bean>
改用sqlSessionFactoryBeanName注入就没有问题(不要使用sqlSessionFactory属性注入,使用sqlSessionFactoryBeanName注入),因为这时不会立即初始化sqlSessionFactory,传入的只是名字,非bean,所以不会引发提前初始化问题。