文字列から整数への @Value アノテーション型キャスティング
2023-09-21 03:09:03
質問
ある値の出力を整数にキャストしようとしています。
@Value("${api.orders.pingFrequency}")
private Integer pingFrequency;
上記はエラーを投げます
org.springframework.beans.TypeMismatchException:
Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer';
nested exception is java.lang.NumberFormatException:
For input string: "(java.lang.Integer)${api.orders.pingFrequency}"
また
@Value("(java.lang.Integer)${api.orders.pingFrequency}")
Googleはこのテーマについてあまり言っていないようです。 私は、この値が使用されるあらゆる場所でパースする必要があるのではなく、常に整数を扱うようにしたいのです。
回避策
セッターメソッドを使用して変換を実行することが回避策であることは理解していますが、Springがそれを行うことができるなら、私はむしろSpringについて何かを学びたいのです。
どのように解決するのですか?
クラスパスにあるプロパティファイルに
api.orders.pingFrequency=4
の中で試してみました。
@Controller
@Controller
public class MyController {
@Value("${api.orders.pingFrequency}")
private Integer pingFrequency;
...
}
サーブレットコンテキストに:
<context:property-placeholder location="classpath:myprops.properties" />
完璧に動作しました。
つまり、あなたのプロパティが整数型でないか、プロパティのプレースホルダが正しく設定されていないか、間違ったプロパティキーを使っているかのいずれかです。
無効なプロパティ値で実行してみました。
4123;
. 例外が発生しました。
java.lang.NumberFormatException: For input string: "4123;"
ということで、あなたのプロパティの値は
api.orders.pingFrequency=(java.lang.Integer)${api.orders.pingFrequency}
関連
-
型に解決できない エラー解決
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
maven レポート エラー 解決不可能な親POM
-
代入の左辺は変数でなければならない 解答
-
Java:未解決コンパイル問題の解決方法
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] 値のペアのJavaコレクション?(タプル?)
-
[解決済み] 空のRequestParamの値にdefaultValueを使用させることは可能ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
アクセス制限です。タイプ 'JPEGCodec' は API ではない ☞My Blog Github ☜ ホームページを見る
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
XXX型を囲むインスタンスがJavaでアクセスできない
-
maven レポート エラー 解決不可能な親POM
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
Junitのユニットテストエラー
-
Spring Bootは、Tomcatの組み込みのmaxPostSizeの値を設定します。
-
switch case文のcaseの後の列挙定数は列挙型なし
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.