@Valueをオプションとして定義する方法 質問する

@Valueをオプションとして定義する方法 質問する

Spring Bean には次のものがあります:

@Value("${myValue}")
private String value;

値は正しく注入されています。ただし、変数はオプションである必要があり、コマンドラインパラメータとして渡されます(その後、シンプルコマンドラインプロパティソース)、この議論は常に存在するわけではありません。

デフォルト値を提供するために、次の両方を試しました。

@Value("${myValue:}")
@Value("${myValue:DEFAULT}")

しかし、いずれの場合も、実際の値がある場合でもコロンの後のデフォルト引数が挿入されます。これは、Spring が挿入する内容をオーバーライドしているようです。

それを指定する正しい方法は何ですか?@価値必須ではありません?

ありがとう

ベストアンサー1

@Value が必須ではないことを指定する正しい方法は何ですか?

「必須ではない」というのは次のことを意味するという前提で作業を進めますnull...

文字の右側にデフォルト値を指定できることは正しく指摘されています:。例は です@Value("${myValue:DEFAULT}")

デフォルト値としてプレーンな文字列に限定されません。スペル式、および返される単純な SPEL 式は次nullのとおりです。

@Value("${myValue:#{null}}")

おすすめ記事