当配置mybatis的mapper接口自动扫面成bean时,时常加入:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.*.mapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
而配置了<property name="sqlSessionFactory" ref="sqlSessionFactory"/> 之后将导致*.properties未加载到就将dataSource执行完了,这时候的占位符就如同字符串没起到作用。从未导致数据库连接失败。
在网上找了解决方案是将<property name="sqlSessionFactory" ref="sqlSessionFactory"/>去掉。如果去掉它,就要保证sessionFactory在spring中必须配置成sqlSessionFactory,让它完成自动注入。