Метаданные аннотации стартера начальной загрузки - PullRequest
0 голосов
/ 28 апреля 2018

В документации Spring Boot в главе «Написание собственного весеннего загрузчика» написано:

Обязательно запустите генерацию метаданных, чтобы помощь IDE была доступна и для ваших ключей.

Хорошо, я могу создать что-то вроде этого:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

Но почему? Какова цель таких метаданных, где я могу найти их и, что более важно, что они имеют отношение к моей IDE (я использую Spring Tool Suite)? Я просто хочу использовать свои собственные свойства, такие как kulatamicuda.superitem, в свойствах приложения.

Может кто-нибудь объяснить это мне? Я немного смущен. Спасибо.

1 Ответ

0 голосов
/ 28 апреля 2018

Я считаю, что цель такая же, как написание javadocs для ваших интерфейсов.

Так что, если вы создаете этот стартер с намерением использовать его другими народами, тогда должна быть некоторая документация для него.

Когда вы создаете библиотеку, вы, вероятно, понимаете, что вам следует документировать как минимум интерфейсы, которые другие разработчики могут использовать в своих приложениях.

Аналогично, ваш ide (по крайней мере, IDEA) попытается найти файл META-INF/spring-configuration-metadata.json в вашем артефакте и предоставит автозаполнение и описание (которое вы укажете в этом файле) для этих свойств.

Вот пример: https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html

Однако, если вы не хотите описывать эти свойства, вы можете оставить все как есть без создания файлов с метаинформацией, это не повлияет на ваше приложение.

Вот как это работает в IDEA:

enter image description here

Вы можете видеть, что есть автозаполнение и описание для каждого свойства, определенного в стартовых версиях Springboot, добавленных для этого проекта. Также он знает о типе свойства и его значении по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...