Из официальной документации весенней загрузки (это основной момент концепции создания пользовательской переменной загрузки весны) ниже вы найдете ссылку на вопрос/ответ, описывающий решение .
JAR-файлы Spring Boot поставляются с файлами метаданных, в которых содержатся сведения обо всех поддерживаемых свойствах конфигурации. Файлы предназначены для того, чтобы разработчики IDE могли предлагать контекстную справку и «завершение кода», когда пользователи работают с файлами application.properties или application.yml.
Большая часть файла метаданных создается автоматически во время компиляции путем обработки всех элементов, аннотированных с помощью @ConfigurationProperties. Однако можно написать часть метаданных вручную для крайних случаев или более продвинутых вариантов использования.
Файлы метаданных конфигурации расположены внутри jar-файлов в разделе META-INF/spring-configuration-metadata.json. Они используют простой формат JSON с элементами, отнесенными к категории «группы» или «свойства», а дополнительные значения подсказок относятся к категории «подсказки»:
Вот пример файла конфигурации метаданных:
{"groups": [
{
"name": "server",
"type": "org.springframework.boot.autoconfigure.web.ServerProperties",
"sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
},
{
"name": "spring.jpa.hibernate",
"type": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties$Hibernate",
"sourceType": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties",
"sourceMethod": "getHibernate()"
}
...
],"properties": [
{
"name": "server.port",
"type": "java.lang.Integer",
"sourceType": "org.springframework.boot.autoconfigure.web.ServerProperties"
},
{
"name": "spring.jpa.hibernate.ddl-auto",
"type": "java.lang.String",
"description": "DDL mode. This is actually a shortcut for the \"hibernate.hbm2ddl.auto\" property.",
"sourceType": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties$Hibernate"
}
...
],"hints": [
{
"name": "spring.jpa.hibernate.ddl-auto",
"values": [
{
"value": "none",
"description": "Disable DDL handling."
},
{
"value": "validate",
"description": "Validate the schema, make no changes to the database."
},
{
"value": "update",
"description": "Update the schema if necessary."
},
{
"value": "create",
"description": "Create the schema and destroy previous data."
},
{
"value": "create-drop",
"description": "Create and then destroy the schema at the end of the session."
}
]
}
]}
Каждое «свойство» — это элемент конфигурации, который пользователь указывает с заданным значением. Например, server.port и server.servlet-path могут быть указаны в application.properties следующим образом:
server.port=9090 server.servlet-path=/home «Группы» — это элементы более высокого уровня, которые сами по себе не определяют значения, а вместо этого обеспечивают контекстное группирование свойств. Например, свойства server.port и server.servlet-path являются частью группы серверов.
Примечания:
- Раздел групп обязателен к сведению
- "Подсказки" — это дополнительная информация, помогающая пользователю настроить данное свойство. При настройке свойства spring.jpa.hibernate.ddl-auto инструмент может использовать его, чтобы предложить помощь по автозаполнению для значений none, validate, update, create и create-drop.
Вы можете легко создать свой собственный файл метаданных конфигурации из элементов, аннотированных с помощью @ConfigurationProperties, с помощью jar-файла spring-boot-configuration-processor.
Вы можете проверить этот Q/A
** для получения более подробной информации см. раздел приложения Spring Boot **
person
Abdelghani Roussi
schedule
07.07.2017