Начало работы с Spring Boot (1): Создание проекта Spring Boot

Spring Boot

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

В качестве первого блога в серии Spring Boot давайте сначала объясним, как создать проект Spring Boot.

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

Адрес блога весенней серии:woo woo woo.cn blog on.com/as Ухань, где там/кошка….

1. 2 способа сборки проекта Spring Boot

1.1 Способ 1: Используйте официальный сайт для сборки

Сначала в браузере введитеstart.spring.io/, вы увидите следующий интерфейс:

Как видно из приведенного выше рисунка, значением по умолчанию Project является Maven Project, значением по умолчанию для языка является Java, а версия Spring Boot по умолчанию — 2.1.9. Поскольку это соответствует нашим потребностям, мы не будем изменять эти три Предметы.

Затем заполните информацию о проекте, то есть элемент метаданных проекта, следующим образом:

Группу на приведенном выше рисунке можно понимать как организацию, обычно доменное имя перевернуто.Если доменное имя zwwhnly.com, введите здесь com.zwwhnly.

Артефакт, под которым можно понимать название проекта, например, я залил сюда springboot-action.

Затем выберите зависимости, такие как добавление веб-зависимостей, здесь вы можете искать веб-зависимости по ключевому слову следующим образом:

Веб-зависимости также можно найти по категориям следующим образом:

В любом случае вы добавляете его, конечный результат будет примерно таким:

Наконец, нажмите кнопку «Создать», чтобы сгенерировать код проекта:

Каталог распакованного кода показан на следующем рисунке:

Как видно из рисунка, то, что здесь сгенерировано, на самом деле является простым проектом на основе Maven, и вы можете открыть проект с помощью своего любимого инструмента разработки, такого как IntelliJ IDEA.

1.2 Метод 2: Сборка с помощью IDEA

Сначала откройте инструмент разработки Intellij IDEA, щелкните файл меню — новый — проект, чтобы открыть диалоговое окно нового проекта, сначала выберите «Spring Initializr» слева, затем выберите версию JDK для использования, например 1.8, нажмите « Кнопка «Далее»:

Заполните информацию о проекте, методе упаковки, версии Java и другую информацию в соответствии с подсказками на рисунке ниже и нажмите кнопку «Далее»:

Выберите зависимости (например, Spring Web) и версию Spring Boot (например, 2.1.9), которые будут использоваться проектом, и нажмите кнопку «Далее»:

Подтвердите имя проекта и путь для сохранения проекта, нажмите кнопку «Готово», если сохраненный путь не существует, будет предложено автоматически создать каталог, нажмите «ОК», чтобы:

Структурная схема созданного проекта выглядит следующим образом:

Дерево зависимостей Maven выглядит так:

2. Объяснение pom.xml

Файл POM.xml по умолчанию сгенерирован следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.9.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.zwwhnly</groupId>
    <artifactId>springboot-action</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-action</name>
    <description>Spring Boot Action Code</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Для полного объяснения pom.xml вы можете обратиться к блогу, который я написал ранее:Начало работы с Spring (4): использование Maven для управления проектами Spring, здесь мы только объясним разницу между этим файлом и предыдущим.

Первое, что стоит отметить, это родительский тег в файле:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.9.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

Этот тег используется для добавления родительских зависимостей Spring Boot, где spring-boot-starter-parent — это специальный стартер, который предоставляет связанные зависимости Maven по умолчанию.После его использования тег версии можно опустить для часто используемых зависимостей пакетов.

В качестве конкретного примера мы добавляем следующее, чтобы полагаться на pom.xml:

<dependency>
   <groupId>com.rabbitmq</groupId>
   <artifactId>amqp-client</artifactId>
</dependency>

Как и две зависимости по умолчанию, мы не указывали версию версии зависимости, но в дереве зависимостей Maven мы можем видеть версии, используемые этими тремя зависимостями, как показано ниже:

Это роль ссылки spring-boot-starter-parent в родительском теге.Мы можем просмотреть информацию о версии по умолчанию, какие зависимости она предоставляет, через следующие файлы:

В этом файле мы можем найти информацию о версии, указанную spring-boot-starter-web, spring-boot-starter-test, amqp-client:

<properties>
    <rabbit-amqp-client.version>5.4.3</rabbit-amqp-client.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.rabbitmq</groupId>
        <artifactId>amqp-client</artifactId>
        <version>${rabbit-amqp-client.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.1.9.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.1.9.RELEASE</version>
    </dependency>
</dependencies>

Можно обнаружить, что указанная версия — это информация о версии, отображаемая в дереве зависимостей Maven.

Однако вы можете переопределить версию по умолчанию, указав версию версии.Например, мы изменим информацию о зависимости amqp-client на:

<dependency>
   <groupId>com.rabbitmq</groupId>
   <artifactId>amqp-client</artifactId>
   <version>5.7.0</version>
</dependency>

На данный момент версия amqp-client, отображаемая в дереве зависимостей Maven, становится 5.7.0:

Второй заслуживающий внимания в том, что файл был добавлен для компиляции загрузки подсказки:

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>

Здесь мы не указываем Version, поэтому используем дефолтную версию 2.1.9.Release (и принцип использования amqp-client выше):

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.1.9.RELEASE</version>
</plugin>

3. Простая демонстрация

Найдите класс запуска SpringbootActionApplication (обычно это ArtifactId+Application) и посмотрите код по умолчанию, как показано ниже:

package com.zwwhnly.springbootaction;

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

@SpringBootApplication
public class SpringbootActionApplication {

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

Для удобства демонстрации временно добавим в класс запуска API-интерфейс:

package com.zwwhnly.springbootaction;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
public class SpringbootActionApplication {

    @RequestMapping("/")
    public String index() {
        return "Hello Spring Boot";
    }

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

Щелкните правой кнопкой мыши класс запуска, затем выберите «Выполнить проект» и просмотрите следующую информацию:

Посетите http://localhost:8080/ в своем браузере, и вы увидите следующую информацию:

@RestController @RequestMapping примечания и аннотации Spring MVC на самом деле связаны с аннотациями, Spring Boot не уникален, но методы Spring MVC вы можете просмотреть в следующем блоге:

  1. Введение в Spring (12): объяснение использования Spring MVC
  2. Начало работы с Spring (13): объяснение общих аннотаций Spring MVC
  3. Начало работы с Spring (14): 2 метода тестирования для контроллеров Spring MVC

4. Закрыть баннер

На самом деле, мы уже видели баннер Spring Boot, когда только начинали проект, поэтому вы не можете не спросить, что такое баннер Spring Boot?

На самом деле это место, отмеченное красным на картинке ниже:

Некоторые люди могут чувствовать, что нецелесообразно отображать эти сообщения каждый раз, когда они начинаются, так как мы выключаем?

4.1 Закрытие через код

Оригинальный код:

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

После модификации:

public static void main(String[] args) {
    //SpringApplication.run(SpringbootActionApplication.class, args);

    SpringApplication springApplication = new SpringApplication(SpringbootActionApplication.class);
    springApplication.setBannerMode(Banner.Mode.OFF);
    springApplication.run(args);
}

4.2 Завершение работы через конфигурационный файл

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

spring.main.banner-mode=off

Перезапустите проект, эффект будет таким, как показано ниже:

5. Исходный код и ссылка

Адрес источника:GitHub.com/Где находится Ухань/SPR…, добро пожаловать на скачивание.

Ван Юньфэй, «Разрушитель разработки Java EE: Spring Boot в действии»

Создайте первый проект Springboot с идеей

Spring Boot — отключить баннер

Закройте баннер весенней загрузки

Конфигурация SpringBoot yml