Читаем Spring in Action Covers Spring 5-1--11 полностью

Хотя мы говорим о зависимостях, обратите внимание, что есть три зависимости, объявленные в элементе . Первые две должны выглядеть несколько знакомыми. Они напрямую соответствуют зависимостям Web и Thymeleaf, выбранным до нажатия кнопки Готово в мастере создания проекта Spring Tool Suite. Третья зависимость предоставляет множество полезных возможностей тестирования. Вам не нужно было устанавливать флажок, чтобы он был включен, потому что Spring Initializr предполагает (надеюсь, правильно), что вы будете писать тесты.

Можно также заметить, что все три зависимости имеют слово starter в идентификаторе артефакта. Зависимости Spring Boot starter отличаются тем, что обычно сами по себе не имеют кода библиотеки, а вместо этого временно извлекают другие библиотеки. Эти стартовые зависимости предлагают три основных преимущества:  

Файл сборки будет значительно меньше и проще в управлении, так как вам не нужно будет объявлять зависимость от каждой библиотеки, которая вам может понадобиться.  

Вы можете думать о своих зависимостях с точки зрения возможностей, которые они предоставляют, а не с точки зрения имен библиотек. Если вы разрабатываете веб-приложение, вы добавите зависимость web starter, а не список отдельных библиотек, которые позволяют писать веб-приложение.  

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

Наконец, спецификация сборки заканчивается плагином Spring Boot. Этот плагин выполняет несколько важных функций:  

Это является заданием Maven, которое позволяет запускать приложение с помощью Maven. Вы попробуете это в разделе 1.3.4.

Это гарантирует, что все библиотеки зависимостей включены в исполняемый файл JAR и доступны в пути к классам среды выполнения.  

Это создает файл манифеста в файле JAR, который обозначает класс начальной загрузки (TacoCloudApplication, в вашем случае) как основной класс для исполняемого JAR.

Говоря о классе начальной загрузки (bootstrap), давайте откроем его и посмотрим поближе.

 

Начальная загрузка приложения

 

Поскольку вы будете запускать приложение из исполняемого файла JAR, важно иметь основной класс, который будет выполняться при запуске этого файла JAR. Вам также потребуется по крайней мере минимальный объем конфигурации Spring для начальной загрузки приложения. Это то, что вы найдете в классе TacoCloudApplication, показанном в следующем списке.

 

Листинг 1.2 Taco Cloud bootstrap class

 

package tacos;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class TacoCloudApplication {

   public static void main(String[] args) {

      SpringApplication.run(TacoCloudApplication.class, args);

   }

}

 

Одна из самых мощных строк кода также является одной из самых коротких. Аннотация @SpringBootApplication ясно указывает, что это приложение Spring Boot. Но в @SpringBootApplication есть больше, чем кажется на первый взгляд.

 

@SpringBootApplication - это составное приложение, которое объединяет три других аннотации:

 

- @SpringBootConfiguration - обозначает, что этот класс является классом конфигурации. Несмотря на то, что в классе еще не так много конфигурации, при необходимости можно добавить Java-based Spring Framework конфигурацию. Эта аннотация является, фактически, специализированной формой аннотации @Configuration. 

 

- @EnableAutoConfiguration - включает автоматическое Spring Boot конфигурирование. Мы поговорим об автоконфигурации позже. На данный момент знайте, что эта аннотация говорит Spring Boot автоматически настраивать любые компоненты, которые, по его мнению, вам понадобятся.

 

- @ComponentScan - включает сканирование компонентов. Это позволяет объявлять другие классы с аннотациями, такими как @Component, @Controller, @Service и другими, чтобы Spring автоматически обнаруживала их и регистрировала как компоненты в контексте приложения Spring.

 

Другой важной частью TacoCloudApplication является метод main(). Это метод, который будет выполняться при выполнении файла JAR. По большей части, этот метод шаблонный код; каждое приложение Spring Boot, которое вы пишете, будет иметь метод, аналогичный или идентичный этому (за исключением различий в именах классов).

Перейти на страницу:

Похожие книги

История России
История России

Издание описывает основные проблемы отечественной истории с древнейших времен по настоящее время.Материал изложен в доступной форме. Удобная периодизация учитывает как важнейшие вехи социально-экономического развития, так и смену государственных институтов.Книга написана в соответствии с программой курса «История России» и с учетом последних достижений исторической науки.Учебное пособие предназначено для студентов технических вузов, а также для всех интересующихся историей России.Рекомендовано Научно-методическим советом по истории Министерства образования и науки РФ в качестве учебного пособия по дисциплине «История» для студентов технических вузов.

Александр Ахиезер , Андрей Викторович Матюхин , И. Н. Данилевский , Раиса Евгеньевна Азизбаева , Юрий Викторович Тот

Педагогика, воспитание детей, литература для родителей / Детская образовательная литература / История / Учебники и пособия / Учебная и научная литература
Теория государства и права
Теория государства и права

Учебник, написанный РІ соответствии СЃ РєСѓСЂСЃРѕРј «Теория государства Рё права» для юридических РІСѓР·РѕРІ, качественно отличается РѕС' выходивших ранее РєРЅРёРі РїРѕ этой дисциплине. Сохраняя РІСЃРµ то ценное, что наработано РІ теоретико-правовой мысли Р·Р° предыдущие РіРѕРґС‹, автор вместе СЃ тем решительно отходит РѕС' вульгаризированных РґРѕРіРј Рё методов, существенно обновляет Рё переосмысливает РІРѕРїСЂРѕСЃС‹ возникновения, развития Рё функционирования государства Рё права.РљРЅРёРіР°, посвященная современной теории государства Рё права, содержит СЂСЏРґ принципиально новых тем. Впервые РЅР° высоком теоретическом СѓСЂРѕРІРЅРµ осмыслены Рё изложены РІРѕРїСЂРѕСЃС‹ новых государственно-правовых процессов современного СЂРѕСЃСЃРёР№СЃРєРѕРіРѕ общества. Дается характеристика гражданского общества РІ его соотношении СЃ правом Рё государством.Для студентов, аспирантов, преподавателей Рё научных работников юридических РІСѓР·РѕРІ.Р

Алла Робертовна Швандерова , Анатолий Борисович Венгеров , Валерий Кулиевич Цечоев , Михаил Борисович Смоленский , Сергей Сергеевич Алексеев

Детская образовательная литература / Государство и право / Юриспруденция / Учебники и пособия / Прочая научная литература / Образование и наука