web-dev-qa-db-ja.com

application.propertiesのSpringBootの不明なプロパティ

組み込みのTomcat + Thymeleafテンプレートエンジンを使用して、Spring Initializrを使用するSpring Boot Webアプリケーションを生成しました。

このプロパティをapplication.propertiesに入れました

[email protected]

Spring Tool Suiteバージョン:3.8.4.RELEASEを開発環境として使用していますが、エディターでこの警告を受けました'default.to.address' is an unknown property.

このプロパティを別のプロパティファイルに配置する必要がありますか?

11

これは、とりわけプロパティを検証するSTSプロパティエディタによって開かれているためです。 application.propertiesファイルに含めても害はありません。プロパティに独自のメタデータを追加することもできます。

http://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html

9
Darren Forsythe

Application.propertiesにも同じ警告が表示され、これを取り除く方法を探していました。ここで私は答えを探して私を導きました。だから私は私の答えを投稿しています。役に立つかもしれません。

Application.propertiesでカスタムプロパティを使用しても害はありません。これを取り除くには2つの方法があります-

  1. 回答の1つで述べたように、カスタムプロパティのメタデータを(手動で、またはSTSのクイックフィックスを使用して)追加できます。

  2. メタデータを追加したくない場合は、STSで[ウィンドウ]-> [設定]-> [スプリング]-> [ブート]-> [プロパティエディター]に移動します。ここでは、「不明なプロパティ」を無視として選択です。デフォルトでは警告です。

6
Akash

このメソッドを使用して、applciation.propertiesファイルにプロパティを追加します。

Applciation.propertiesに新しいプロパティを追加します。[email protected]新しいプロパティにカーソルを合わせると、新しいプロパティの追加を提案する「クイックフィックスツールチップ」が表示されます。 .to.address '。

次に、プロパティをバインドするクラスとフィールドを参照して、この注釈を追加します。

@Value("${default.to.address}")
private String address;

これで、オブジェクトフィールドにプロパティ値が設定されます。

2
Takyon

コンパイルの変更や再デプロイの変更を行わずにいつでも値を更新するオプションがあるため、application.propertiesではなく、Environmentでこれらの種類の値を追加してみてください。 application.propertiesは、データベース資格情報のように、決して変更しないプロパティに対してより有益である可能性があります。

構成メタデータを生成するspring-boot-configuration-processorを使用する必要があります。

例を参照してください: https://www.baeldung.com/spring-boot-configuration-metadata

0
Hussam