我最近得知Spring有可能生成spring-configuration-metadata.json
文件並創建additional-spring-configuration-metadata.json
文件。通過代碼API訪問彈簧配置屬性元數據
是否有可能通過Spring本地訪問此信息,例如,能夠打印從此JSON文件中提取的幫助消息?我沒有看到Spring documentation中提到的任何內容。據我所知,配置類是POJO,在實際注入的對象中沒有與它們關聯的任何Spring元數據。
說我有下面的類:
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; }
}
,這將產生以下元數據:
{
"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": []
}
理想我想有一些方式來寫MyConfig.getMyField().getDescription()
和有回報"myField description"
。我還希望能夠在JSON中添加其他元數據並以類似的方式檢索它們。
你能解釋一下你想要完成什麼?這是有點不清楚你想要檢索什麼信息或爲什麼。 – chrylis
所以現在我已經創建了一個自定義註釋,比如'@Description(「這是這個配置選項的描述」)'',並且將這些添加到Spring Boot配置中的這些字段的上面,然後我將其反射到在幫助消息中使用我的配置類。我希望能夠將項目添加到元數據JSON中,然後使用Spring API檢索它們,而不是自己創建這些註釋,並且想知道是否可以實現。 – Lucas
我在上面的問題中添加了一個示例。 – Lucas