• nested exception is org.springframework.core.convert.ConverterNotFoundException


    nested exception is org.springframework.core.convert.ConverterNotFoundException


    【问题现象】

    最近遇到一个很神奇的问题,报错如下:

    nested exception is org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.util.HashMap<?, ?>] to type [java.lang.String]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:372)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
    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.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)

    原因是个人在application.properties定义了一个变量 cpu.usage.upper.limit,没有注意到配置文件中已经有一个变量,名为 cpu.usage

    cpu.usage=70
    cpu.usage.upper.limit=90

    程序在引用变量 cpu.usage 的时候,就报了上述错误。
    @Value("${cpu.usage:}")
    private String cpuUsage ;

    【问题原因】

     程序会认为 cpu.usage.upper.limit  cpu.usage 的子项,导致解析错误。

    【解决方案】

    将其中一个变量名修改一下,保证二者没有包含关系即可。

    比如:将变量 cpu.usage.upper.limit 改成 cpuUsage.upper.limit

  • 相关阅读:
    [ SDOI 2006 ] 保安站岗
    [ TJOI 2012 ] 防御
    [ ZJOI 2012 ] 灾难
    [ HNOI 2008 ] 玩具装箱
    「UER#2」信息的交换
    「UR#5」怎样跑得更快
    「UR#6」懒癌
    清华集训2014 做题记录
    「UR#5」怎样更有力气
    弦图及区间图学习笔记
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/13887712.html
Copyright © 2020-2023  润新知