mybatis配置数据源时出现的问题
Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'minIdle'; nested exception is java.lang.NumberFormatException: For input string: "${open.jdbc.read.minIdle}"
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:470)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:496)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:490)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1437)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1396)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
... 72 more
Caused by: java.lang.NumberFormatException: For input string: "${open.jdbc.read.minIdle}"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.valueOf(Integer.java:582)
at org.springframework.util.NumberUtils.parseNumber(NumberUtils.java:155)
at org.springframework.beans.propertyeditors.CustomNumberEditor.setAsText(CustomNumberEditor.java:115)
at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:452)
at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:424)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:181)
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:450)
... 78 more
报错的意思是String类型的数据不能转成int类型。
要看minIdle字段是什么类型,如果是int类型,那看传入的值是不是有非数字的字符? 如果minIdle是String类型,那是不是有和int的值进行比较?
报错的意思是String类型的数据不能转成int类型。
如果需要转成int类型,那也一定不能接收null值的,可以写个转换器convert ,或者修改下类型
别搞那么多花里胡哨的,open.jdbc.read.minIdle加到application.properties或者yml里面去,启动就不会报错了
${open.jdbc.read.minIdle}你代码里用了@Value注解,但是没有给他一个默认初始值,可以open.jdbc.read.minIdle:值,或者在properties配置文件中加入这个配置open.jdbc.read.minIdle=值