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);
}
}