Почему добавление зависимости в Maven запускает функциональность? - PullRequest
2 голосов
/ 20 марта 2020

У меня простой вопрос: я только начинаю работать с Open API 3. Для этого я добавил следующую зависимость в Maven.

  <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.2.30</version>
    </dependency>

С добавлением этой зависимости, могу ли я получить доступ к сервису через localhost: 8082 / v3 / api-docs без предварительной установки чего-либо и вызова функции зависимости? Как это может случиться? Что за концепция стоит за этим?

Ответы [ 2 ]

5 голосов
/ 20 марта 2020

Добавление зависимости OpenAPI в вашем Maven pom. xml просто добавляет librar (ы) в ваш проект. Вот и все.

Если бы это был «традиционный» проект (например, веб-приложение JSP), вам пришлось бы написать код для создания веб-службы (например, «localhost: 8082 /»). v3 / api-docs ").

Но похоже, что ваш проект может быть Spring Boot:

https://developer.ibm.com/technologies/java/tutorials/j-spring-boot-basics-perry/

Если Если вы позволите, Spring Boot будет использовать аннотацию @EnableAutoConfiguration для автоматической настройки вашего приложения. Автоконфигурация основана на JARS в вашем пути к классам и на том, как вы определили ваши bean-компоненты:

  • Spring Boot использует JAR, которые вы указали для присутствия в CLASSPATH, чтобы сформировать мнение о том, как настроить определенное автоматическое поведение. Например, если у вас есть JAR базы данных H2 в вашем classpath и вы не настроили никаких других компонентов DataSource, тогда ваше приложение будет автоматически сконфигурировано с базой данных в памяти.

  • Spring Boot использует как вы определяете бины, чтобы определить, как автоматически настроить себя. Например, если вы аннотируете ваши компоненты JPA с помощью @Entity, Spring Boot автоматически настроит JPA так, что вам не понадобится постоянство. xml файл.

0 голосов
/ 20 марта 2020

Это называется соглашением по конфигурации. Wiki ссылка https://en.wikipedia.org/wiki/Convention_over_configuration

...