Файлът pom.xml

Файлът pom.xml на генерирания проект е показан по-долу.

Ще обърнем внимание на три сегмента от pom.xml:

  • Spring-boot-starter-parent

  • Разделът на зависимостите

  • Maven плъгина Spring Boo

Spring-boot-starter-parent

Spring-boot-starter-parent е родителската зависимост за всички зависимости на Spring Boot starter. Той предоставя някои конфигурации по подразбиране, като например версията на Java по подразбиране, както и някои дефолтни конфигурации на Maven плъгина spring-boot-maven-plugin, който се използва за изграждане на дебели JAR файлове. Включва и най-често използваните плъгини като maven-jar-plugin, maven-surefire-plugin, maven-war-plugin, exec-maven-plugin и maven-resources-plugin със зададени настройки по подразбиране.

Spring-boot-starter-parent има своята роля и при управлението на зависимостите. Забележете, че няма посочена версия на зависимост за никоя от декларираните зависимости. Подходящата версия на тези библиотеки е посочена в spring-boot-starter-parent. Трябва само веднъж да посочите версията на Spring Boot в родителскта зависимост и след това не е необходимо да посочвате версията за всички стартови зависимости и други поддържащи библиотеки.

Spring Boot starter dependency

Spring Boot starter dependency има за цел да направи разработката на приложението Spring Boot лесна, бърза и ефективна. Ако имате предишен опит в разработването на Java приложения с инструмент за изграждане като Apache Maven или Gradle, можете да си припомните, че управлението на зависимости е едно от ключовите предизвикателства за разработчика на приложения. Първото предизвикателство е да идентифицирате библиотеките (зависимостите), от които се нуждаете, за да разработите специфичен компонент на вашето приложение. След като ги идентифицирате, трябва да намерите правилните версии на библиотеките. Дори и да намерите правилните библиотеки и версии, в този забързан свят на разработка на приложения е относително лесно да излезете от синхронизиране с версиите. За да увеличите допълнително проблемите си, избраните от вас зависимости имат свои собствени зависимости или по-точно транзитивни зависимости.

Стартовата зависимост от Spring Boot е решение в Spring Boot, което ви освобождава от всички гореспоменати проблеми. Началната зависимост групира заедно набор от зависимости, които може да са ви необходими, за да разработите част от вашето приложение. Ако изберете да разработите уеб приложение с Spring Boot, най-вероятно ще изберете зависимостта spring-boot-starter-web. Тя гарантира, че всички необходими зависимости за разработване на уеб приложение са налични. Разбира се, вие получавате набора от зависимости, които екипът на Spring препоръчва да имате, за да разработите уеб приложение. Въпреки това, ключовата част тук е, че сте освободени от версиите на зависимостите, надстройките и много други проблеми. Стартерна зависимост може също да зависи от друга стартова зависимост. Например, spring-boot-starter-web се нуждае от няколко общи стартови зависимости:

  • spring-boot-starter

  • spring-boot-starter-json

  • spring-boot-starter-tomcat

  • spring-web

  • spring-webmvc

Те от своя страна изтеглят друг набор от зависимости, свързани съответно със Spring Boot, Tomcat и JSON.

Spring Boot ви позволява да създавате собствени стартери, които можете да използвате във вашето приложение. Това е полезно за големи приложения за модулиране и управление на зависимости по отношение на персонализирани стартови устройства.

В генерирания проект сме включили две начални зависимости: spring-boot-starter-web и spring-boot-starter-test. Зависимостта на уеб стартера включва необходимите JAR файлове за изграждане на уеб приложение, докато тестовата зависимост ви позволява да пишете тестовe за вашето приложение.

Spring-boot-maven-plugin

В последния раздел на pom.xml можете да намерите spring-boot-maven-plugin. Този плъгин е предоставен за удобство на разработчиците, за да опрости няколко дейности по управление на приложения. Ще забележите, че е доста лесно да се създаде изпълним JAR или WAR файл на Spring Boot приложение. Това е така, защото repackage goal на spring-boot-maven-plugin гарантира, че той взема генерирания от Maven оригинален JAR или WAR файл (който не е изпълним) и го препакетира, за да го направи изпълним.

Last updated