Статьи

Введение в Spring Boot

В этом уроке мы рассмотрим Spring Boot и увидим, как он отличается от Spring Framework. Мы также обсудим различные функции, предлагаемые Spring Boot.

Что такое весенний ботинок?

Spring — это мощная платформа для разработки приложений уровня предприятия. Он предоставляет нам такие функции, как внедрение зависимостей, а также поддержку многих других расширений платформы.

Тем не менее, есть много конфигураций и шаблон кода. Например, для каждого приложения Spring MVC мы будем настраивать DispatcherServlet , InternalResourceViewResolver и многие другие компоненты.

Spring Boot является расширением среды Spring и позволяет нам быстро загрузить готовое к использованию приложение Spring.

Это чрезвычайно мощный и предлагает широкий спектр функций.

Весенний инициализр:

Мы можем использовать веб-сайт Spring Initializr для быстрой загрузки шаблона приложения Spring Boot с необходимыми зависимостями:

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

Все приложения Spring Boot имеют родительский раздел, определенный в их файле POM :

1
2
3
4
5
6
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.7.RELEASE</version>
    <relativePath/>
</parent>

Родительский POM одновременно управляет версией дочерних зависимостей. И так, мы можем опустить теги версии для каждой дочерней зависимости. Он также определяет конфигурации по умолчанию для нескольких плагинов.

Зависимости стартера Spring Boot:

Вот некоторые из наиболее популярных и распространенных стартовых пакетов, предоставляемых Spring Boot:

  • spring-boot-starter: основной стартер, который включает поддержку автоконфигурации, ведение журнала, поддержку YAML и т. д.
  • spring-boot-starter-test: включает поддержку для тестовых сред, таких как Junit, Spring Test, Mockito, Hamcrest
  • spring-boot-starter-web: обеспечивает поддержку Spring MVC; полезно в веб-разработке RESTful
  • spring-boot-starter-jpa: поддерживает Spring Data JPA и Hibernate
  • spring-boot-starter-security: есть зависимости для Spring Security

Spring Boot CLI:

Вместо использования Spring Initializr мы также можем сгенерировать наше приложение с помощью Spring Boot CLI :

1
$spring init --dependencies=data-jpa,web sampleapplication

Он создаст проект в текущем каталоге с зависимостями Spring Data JPA Starter и Spring Web Starter .

Автоконфигурация Spring Boot:

С помощью функции автоматической настройки Spring Boot сканирует все jar-файлы, присутствующие в нашем пути к классам, и многое настраивает для нас. Это чрезвычайно полезная функция, которая значительно сокращает усилия по разработке.

Мы можем использовать аннотацию @EnableAutoConfiguration или @SpringBootApplication для включения автоконфигурации. Аннотации @SpringBootApplication объединяют группы @ComponentScan, @SpringBootConfiguration и @EnableAutoConfiguration .

Основной класс нашего приложения Spring Boot выглядит примерно так:

1
2
3
4
5
6
7
@SpringBootApplication
public class SampleApplication {
  
    public static void main(String args[]) {
        SpringApplication.run(SampleApplication.class, args);
    }
}

Мы можем сгенерировать отчет автоконфигурации, чтобы увидеть, что все было автоматически сконфигурировано для нашего приложения Spring Boot, обновив наш app.properties :

1
logging.level.org.springframework: DEBUG

Или просто запустите наше приложение с ключом -debug .

Встроенный сервер:

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

При установке mvn в нашей целевой папке создается исполняемый файл jar. Все, что нам нужно сделать, это выполнить этот jar-файл, чтобы наше приложение работало:

1
java -jar SampleApplication-1.0.jar

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

Spring Boot Свойства:

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

1
spring.autoconfigure.exclude= # Auto-configuration classes to exclude

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

Профили весенней загрузки:

Для любого корпоративного приложения у нас обычно есть различные среды развертывания: разработка, UAT и производство. Каждая из этих сред, скорее всего, будет иметь определенные конфигурации среды.

Spring Boot добавляет несколько дополнительных функций в конфигурации профиля Spring. Мы можем определить активный профиль в нашем application.properties :

1
2
#Defines active profile
spring.profiles.active= dev

Кроме того, у нас могут быть файлы свойств для приложений : application- {profile} .properties .

Вывод:

В этом руководстве мы рассмотрели различные функции Spring Boot и то, как он помогает нам в разработке приложений RAPID .

Опубликовано на Java Code Geeks с разрешения Шубхры Шриваставы, партнера нашей программы JCG . Смотрите оригинальную статью здесь: Введение в Spring Boot

Мнения, высказанные участниками Java Code Geeks, являются их собственными.