# Spring Boot 简介

> 原文： [https://javatutorial.net/introduction-to-spring-boot](https://javatutorial.net/introduction-to-spring-boot)

在本教程中，您将学习什么是 Spring Boot 以及如何开始使用它。

![java-featured-image](img/e0db051dedc1179e7424b6d998a6a772.jpg)

## 先决条件

*   您的时间 10-20 分钟
*   熟悉 [Maven](https://javatutorial.net/how-to-install-maven-on-windows-linux-and-mac)

## 什么是 Spring Boot？

Spring Boot 使创建独立的基于 Spring 的应用程序的过程变得非常简单。 通过使用基于 Java 的 Spring Boot 框架，您将不需要太多的配置。

如果您总体上熟悉 Spring，那么您就会知道 Spring 中 XML 配置文件的庞大程度和不可管理性。 好吧，多亏了 Spring Boot，您不会遇到这个问题。

使用 Spring Boot 的另一个好处是，它大大减少了开发时间，并提供了一种更简单的入门方法。

## 好处

*   易于部署
*   容易拿起
*   节省时间
*   不需要太多配置
*   提供依赖关系管理
*   提供基于注解的 spring 应用程序

既然您知道 Spring Boot 是什么，并且已经熟悉了它的优势，那么让我向您展示如何立即开始使用它。

## 使用 Maven 构建

在您的项目目录中，创建一个子目录。

例：

```java
mkdir -p src/main/java/demo
```

这就是您的`pom.xml`文件的外观：

`pom.xml`

```java
<?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>

    <groupId>org.springframework</groupId>
    <artifactId>gs-spring-boot</artifactId>
    <version>0.1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
    </parent>

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

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

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

</project>
```

请注意，我们正在使用 spring boot maven 插件。 简而言之，它搜索`main()`方法，提供内置的依赖项解析器，该解析器设置版本号与 Spring Boot 依赖项相匹配，最后，它收集类路径上的所有 jar，然后构建可运行的“uber-jar”，这使得执行起来更加方便。

## 让我们构建一个演示 Web 应用程序

让我们创建一个控制器。 控制器的路径为：

```java
src/main/java/demo/DemoController.java
```

**DemoController.java**

```java
package demo;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;

@RestController
public class DemoController {
    @RequestMapping("/")
    public String handle() {
        return "Hello World!";
    }
}
```

对于此控制器类，我们使用`@RestController`注解，如果您不熟悉该注解，则它基本上可以供 Spring MVC 使用，以能够处理 Web 请求。 因此，所有到`"/"`路径的 Web 请求都将由我们的`handle()`方法处理。 将针对此特定路径（`"/"`）处理 Web 请求的原因是因为我们使用`@RequestMapping`注解将其映射到此 Web 路径。

现在是时候创建我们的`Application`类了。

## 让我们构建一个`DemoApplication`类

让我们创建我们的`DemoApplication`类。 应用程序类的路径为：

```java
src/main/java/demo/DemoApplication.java
```

`DemoApplication.java`

```java
package demo;

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

@SpringBootApplication
public class Application {
	// that's the main method
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
```

感谢`@SpringBootApplication`注解，我们正在初始化 Spring Boot `Application`的入口点。 请注意，我们在此类中有`main`方法。

`@SpringBootApplication`注解包含`@EnableAutoConfiguration`，`@ComponentScan`和`@SpringBootConfiguration`。 使用`@SpringBootApplication`注解时，我们“调用”了所有上述注解。

## 运行应用程序

要使用 maven 运行应用程序，请执行以下行：

```java
mvn package && java -jar target/gs-spring-boot-0.1.0.jar
```