博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java.lang.NumberFormatException: For input string: "${jdbc.maxActive}"
阅读量:6236 次
发布时间:2019-06-22

本文共 4190 字,大约阅读时间需要 13 分钟。

一、问题

使用SpringMVC和MyBatis整合,将jdbc配置隔离出来的时候出现下面的错误,百度了很久没有找到解决方法,回家谷歌下,就找到解决方法了,不得不说谷歌就是强大,不废话,下面是具体的错误:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySqlDataSource' defined in ServletContext resource [/WEB-INF/classes/config/spring/daoSource.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [int] for property 'maxActive'; nested exception is java.lang.NumberFormatException: For input string: "${jdbc.maxActive}"    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)    ... 41 moreCaused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [int] for property 'maxActive'; nested exception is java.lang.NumberFormatException: For input string: "${jdbc.maxActive}"    at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:596)    at org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:603)    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:216)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1527)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1486)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)    ... 47 moreCaused by: java.lang.NumberFormatException: For input string: "${jdbc.maxActive}"    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)    at java.lang.Integer.parseInt(Integer.java:569)    at java.lang.Integer.valueOf(Integer.java:766)    at org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:208)    at org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.java:113)    at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:468)    at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:441)    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:199)    at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:576)    ... 53 more

 二、出现原因

  这个问题是无法识别占位符,就是在加载过程中直接把 ${jdbc.maxActive }当做字符串处理了。myabatis使用MapperScannerConfigurer扫描模式后他会优先于PropertyPlaceholderConfigurer执行,所以这个时候,${jdbc.maxActive }还没有被properties文件里面的值所替换,就出现TypeMismatchException,然后就异常了。

三、解决方法

classpath:com/xsjt/dao/**/*Mapper.xml

MapperScannerConfigurer扫描Dao的 配置中要使用sqlSessionFactoryBeanName,而不是sqlSessionFactory,接下来用value而不是ref。

 

转载地址:http://tpzia.baihongyu.com/

你可能感兴趣的文章
java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)...
查看>>
算法笔记--二分图判定
查看>>
第二阶段冲刺 NO.3
查看>>
六个前端开发工程师必备的Web设计模式/模块资源(转)
查看>>
(转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)
查看>>
zoj3501
查看>>
7.Python 之禅(2-11)
查看>>
mysql主从复制
查看>>
JAVA中toString方法的作用
查看>>
string.h 中常用函数
查看>>
WebService 检测到有潜在危险的 Request.Form 值
查看>>
(十五)监听器
查看>>
java多线程基本概述(三)——同步块
查看>>
caioj 1087 动态规划入门(非常规DP11:潜水员)(二维背包)
查看>>
《Linux内核设计与实现》读书笔记(十八)- 内核调试
查看>>
Vue全局判断是否登陆
查看>>
ZOJ 3927 Programming Ability Test
查看>>
HDU 5787 K-wolf Number
查看>>
c#学习笔记之基本数据类型与分支语句
查看>>
Handler类,有两个包,一个是java的,用于日志和消息,一个android,专用于消息.
查看>>