私は最近、Springがspring-configuration-metadata.json
ファイルを生成し、additional-spring-configuration-metadata.json
ファイルを作成することが可能であることを知りました。Springの設定プロパティへのアクセスコードAPIによるメタデータ
この情報には春からネイティブでアクセスできますか?たとえば、このJSONファイルから抽出されたヘルプメッセージを出力できますか? Spring documentationに記載されているようなものは見られませんでした。私が知る限り、設定クラスは、実際に注入されたオブジェクトに関連付けられたSpringメタデータを持たないPOJOです。
package test;
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "myConfig")
public class MyConfig
{
/**
* myField description.
*/
private int myField = 3;
public int setMyField(int i){ myField = i; }
public int getMyField(){ return myField; }
}
そして、これは、次のメタデータを生成します:理想的には私はMyConfig.getMyField().getDescription()
を書いて、そのリターン"myField description"
を持っているいくつかの方法を持っているでしょう
{
"groups": [{
"name": "myConfig",
"type": "test.MyConfig",
"sourceType": "test.MyConfig"
}],
"properties": [
{
"name": "myConfig",
"type": "java.lang.Integer",
"description": "myField description.",
"sourceType": "test.MyConfig",
"defaultValue": 3
}
],
"hints": []
}
を
は、私は以下のクラスを持っていると言います。また、JSONにメタデータを追加して同様の方法で取得できるようにしたいと考えています。
あなたが達成しようとしているかを説明することはできますか?どの情報を取得しようとしているのか、その理由は不明です。 – chrylis
だから私は '' @Description( "これはこの設定オプションの説明です")のようなカスタムアノテーションを作成しました。そして私はSpringブート設定のフィールドの上にこれらを追加します。私の設定クラスについては、ヘルプメッセージなどで使用します。これらのアノテーションを自分で作成する代わりに、メタデータJSONに項目を追加してからSpring APIで取得できるようにしたいと思います。 – Lucas
私は上記の質問に例を追加しました。 – Lucas