Spring Boot - Введение

Spring Boot - это среда на основе Java с открытым исходным кодом, используемая для создания микросервиса. Он разработан Pivotal Team и используется для создания автономных и готовых к производству приложений Spring. В этой главе вы познакомитесь с Spring Boot и его основными концепциями.

Что такое микросервис?

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

Преимущества

Микросервисы предлагают своим разработчикам следующие преимущества:

  • Легкое развертывание
  • Простая масштабируемость
  • Совместимость с контейнерами
  • Минимальная конфигурация
  • Меньшее время производства

Что такое Spring Boot?

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

Преимущества

Spring Boot предлагает своим разработчикам следующие преимущества:

  • Легко понимать и разрабатывать приложения Spring
  • Повышает продуктивность
  • Сокращает время разработки

Цели

Spring Boot разработан для следующих целей -

  • Чтобы избежать сложной конфигурации XML в Spring
  • Упростить разработку готовых к производству приложений Spring
  • Чтобы сократить время разработки и запустить приложение самостоятельно
  • Предложите более простой способ начать работу с приложением

Почему именно Spring Boot?

Вы можете выбрать Spring Boot из-за функций и преимуществ, которые он предлагает, как указано здесь -

  • Он обеспечивает гибкий способ настройки компонентов Java, конфигураций XML и транзакций базы данных.

  • Он обеспечивает мощную пакетную обработку и управляет конечными точками REST.

  • В Spring Boot все настраивается автоматически; ручные настройки не требуются.

  • Он предлагает приложение Spring на основе аннотаций

  • Упрощает управление зависимостями

  • Включает встроенный контейнер сервлетов

Как это работает?

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

Точкой входа в приложение загрузки Spring является класс, содержащий @SpringBootApplication аннотация и основной метод.

Spring Boot автоматически сканирует все компоненты, включенные в проект, используя @ComponentScan аннотация.

Spring Boot Starters

Управление зависимостями - сложная задача для больших проектов. Spring Boot решает эту проблему, предоставляя набор зависимостей для удобства разработчиков.

Например, если вы хотите использовать Spring и JPA для доступа к базе данных, достаточно включить spring-boot-starter-data-jpa зависимость в вашем проекте.

Обратите внимание, что все стартеры Spring Boot следуют одному шаблону именования spring-boot-starter- *, где * означает, что это тип приложения.

Примеры

Посмотрите на следующие стартеры Spring Boot, описанные ниже, для лучшего понимания -

Spring Boot Starter Actuator dependencyиспользуется для мониторинга и управления вашим приложением. Его код показан ниже -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Boot Starter Security dependencyиспользуется для Spring Security. Его код показан ниже -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Boot Starter web dependencyиспользуется для записи конечных точек отдыха. Его код показан ниже -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot Starter Thyme Leaf dependencyиспользуется для создания веб-приложения. Его код показан ниже -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test dependencyиспользуется для написания тестовых случаев. Его код показан ниже -

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

Автоматическая конфигурация

Spring Boot Auto Configuration автоматически настраивает ваше приложение Spring на основе зависимостей JAR, которые вы добавили в проект. Например, если база данных MySQL находится на пути вашего класса, но вы не настроили подключение к базе данных, то Spring Boot автоматически настраивает базу данных в памяти.

Для этого вам нужно добавить @EnableAutoConfiguration аннотация или @SpringBootApplicationаннотация к вашему основному файлу класса. Затем ваше приложение Spring Boot будет автоматически настроено.

Обратите внимание на следующий код для лучшего понимания -

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Приложение Spring Boot

Точкой входа в Spring Boot Application является класс, содержащий @SpringBootApplicationаннотация. Этот класс должен иметь основной метод для запуска приложения Spring Boot.@SpringBootApplication аннотация включает автоконфигурацию, сканирование компонентов и конфигурацию загрузки Spring.

Если вы добавили @SpringBootApplication аннотации к классу, вам не нужно добавлять @EnableAutoConfiguration, @ComponentScan и @SpringBootConfigurationаннотация. В@SpringBootApplication аннотация включает все остальные аннотации.

Обратите внимание на следующий код для лучшего понимания -

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Компонент Сканирование

Приложение Spring Boot сканирует все бины и объявления пакетов при инициализации приложения. Вам нужно добавить@ComponentScan аннотация для вашего файла класса для сканирования ваших компонентов, добавленных в ваш проект.

Обратите внимание на следующий код для лучшего понимания -

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}