具体说来就是,myabatis使用MapperScannerConfigurer扫描模式后他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${ jdbc.maxActive }
还没有被properties文件里面的值所替换,所以出现TypeMismatchException,然后就异常了。正确配置如下
<!-- MyBatis Sql --><!-- 这里 SqlSessio nFactory 的名字不叫sqlSessionFactory,换一个名字 --><bean id=" mSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="configLocation" value="classpath:mybatis/config.xml" /><property name="dataSource" ref="dataSource" /></bean><!-- 扫描mapper.java --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" autowire="byName"><property name="basePackage" value="com.xy.mapper" /><!-- 这里 用 sqlSessionFactoryBeanName,而不是 sqlSessionFactory,接下来用value而不是ref -->
<property name=" sqlSessionFactoryBeanName" value=" mSqlSessionFactory" /></bean>