@Valueアノテーションを使用して、次のようなDoubleプロパティを挿入します。
@Service
public class MyService {
@Value("${item.priceFactor}")
private Double priceFactor = 0.1;
// ...
springプロパティプレースホルダー(プロパティファイル)の使用:
item.priceFactor=0.1
例外が発生します:
org.springframework.beans.TypeMismatchException:タイプ 'Java.lang.String'の値を必要なタイプ 'Java.lang.Double'に変換できませんでした。ネストされた例外はJava.lang.NumberFormatException:入力文字列の場合: "$ {item.priceFactor}"
プロパティファイルから取得したDouble値を使用する方法はありますか?
次の行を変更してみてください
@Value("${item.priceFactor}")
に
@Value("#{new Double('${item.priceFactor}')}")
これで問題が解決するはずです。
@Value("#{new Double.parseDouble('${item.priceFactor}')}")
private Double priceFactor;