PropertyPlaceholder与MapperScannerConfigurer同时使用变量无效

      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"去掉

猜你喜欢

转载自clin.iteye.com/blog/2296368