吸毒的虫子 发表于 2016-11-27 10:53:48

spring与mybatis项目出现 java.lang.NumberFormatException: For input string: "${jdbc.ma

    具体说来就是,myabatis使用MapperScannerConfigurer扫描模式后他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${jdbc.maxActive }
 
    还没有被properties文件里面的值所替换,所以出现TypeMismatchException,然后就异常了。正确配置如下
 
  <!-- MyBatis Sql -->
<!-- 这里 SqlSessionFactory 的名字不叫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>

dolzxczx 发表于 2017-8-22 14:37:40

学习了!确实是这个问题,多谢楼主
页: [1]
查看完整版本: spring与mybatis项目出现 java.lang.NumberFormatException: For input string: "${jdbc.ma