java - 使用spring的@Value注解出错
高洛峰
高洛峰 2017-04-17 17:43:48
0
4
598

容器启动的时候出错

配置文件如下:

报错信息如下:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'communityController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private int cn.wanjubang.toy.core.controller.Basecontroller.maxPic; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: "${maxPic}"

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private int cn.wanjubang.toy.core.controller.Basecontroller.maxPic; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'int'; nested exception is java.lang.NumberFormatException: For input string: "${maxPic}"

怎么解决呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

répondre à tous(4)
Ty80

1. Tout d'abord, assurez-vous que l'emplacement de vos propriétés est correct. Si vous exécutez un seul test, il est préférable de vous assurer qu'il se trouve également dans le chemin de test.

2. Si le fichier de configuration est confirmé comme étant OK, spring aura une classe d'outils NumberUtils pour le gérer.

            return (T) (isHexNumber(trimmed) ? Byte.decode(trimmed) : Byte.valueOf(trimmed));
        }
        else if (targetClass.equals(Short.class)) {
            return (T) (isHexNumber(trimmed) ? Short.decode(trimmed) : Short.valueOf(trimmed));
        }
        else if (targetClass.equals(Integer.class)) {
            return (T) (isHexNumber(trimmed) ? Integer.decode(trimmed) : Integer.valueOf(trimmed));
        }

convertira la chaîne en type Intger. Si cela ne fonctionne toujours pas, vous pouvez essayer d'utiliser l'instruction SPEL pour forcer la conversion

.
"#{T(java.lang.Integer).parseInt('${maxPic}')}"
PHPzhong

Échec de la conversion de la valeur de type « java.lang.String » en type requis « int » ; l'exception imbriquée est java.lang.NumberFormatException : pour la chaîne d'entrée : "${maxPic}"

Cette erreur est tellement évidente. . . Lors de l'initialisation du bean, Spring convertit et attribue automatiquement les paramètres macPic, mais la conversion de String en int est anormale

左手右手慢动作

L'exception est java.lang.NumberFormatException : pour la chaîne d'entrée : "${maxPic}", avez-vous écrit maxPic avec des guillemets et signalé une erreur ?

迷茫

int 换成String
private String maxPic.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal