applicationContext里的dataSource使用PropertyPlaceholder,如<property name="driverClassName" value="${jdbc.driver}" />,然后启动spring一直报${jdbc.driver} class不存在。
通过不断删除不相关代码进行排查,后发现是配置org.mybatis.spring.mapper.MapperScannerConfigurer导致,原因是MapperScannerConfigurer在PropertyPlaceholder替换变量前使用变量。
两种解决办法
1、设置sqlSessionFactoryBeanName的值写成非sqlSessionFactory
2、xml 头部将 default-autowire="byName"去掉
通过不断删除不相关代码进行排查,后发现是配置org.mybatis.spring.mapper.MapperScannerConfigurer导致,原因是MapperScannerConfigurer在PropertyPlaceholder替换变量前使用变量。
两种解决办法
1、设置sqlSessionFactoryBeanName的值写成非sqlSessionFactory
2、xml 头部将 default-autowire="byName"去掉