Printemps @Valeur TypeMismatchException:impossible de convertir une valeur de type " java.lang.Chaîne "de type" java.lang.Double'
Je veux utiliser le @de la Valeur de l'annotation d'injecter un Double de la propriété tels que:
@Service
public class MyService {
@Value("${item.priceFactor}")
private Double priceFactor = 0.1;
//...
et à l'aide de Printemps de la propriété de l'espace réservé (fichiers de Propriétés):
item.priceFactor=0.1
- Je obtenir de l'Exception:
org.springframework.les haricots.TypeMismatchException: impossible de convertir
valeur de type " java.lang.Chaîne "de type" java.lang.Double";
nested exception java.lang.NumberFormatException: Pour la chaîne d'entrée:
"${item.priceFactor}"
Est-il un moyen d'utiliser un Double de la valeur à venir à partir d'un fichier de propriétés?
- est
double
œuvres? - il ne parvient pas même pour les primitives de type double
Vous devez vous connecter pour publier un commentaire.
Essayez de changer la ligne suivante
à
Ce qui devrait résoudre le problème-
Comment à propos de l'enregistrement Chaîne de caractères et de conversion de nombres comme les entiers et doubles par des getters et setters? Pour le coffre-fort à code avec Java injection, vous devez toujours utiliser les accesseurs et mutateurs et seulement pour les autres méthodes, en tout cas. Je vous le conseille chaudement de lire à propos de la sécurité de java (Qui n'est PAS pour les pirates), mais plus pour l'utilisation du code et de l'écriture, de même, celui que vous avez téléchargé, qui utilise l'injection.