Spring Boot 快速入门

Spring Boot 简化了 Spring 应用的配置和开发,它管理着 Spring 容器和第三方插件,并提供很多默认系统级的服务,这样我们只要少量的配置和代码就能完成大部分 Spring 应用。

Spring Boot 的特性

  1. 可以创建独立的 Spring 应用,即可运行的 jar 包
  2. 提供嵌入式的 Web Server,不需要在部署 war 包
  3. 没有代码生成,也不需要XML配置
  4. 自动化配置,许多的配置都有习惯性的默认值
  5. 提供一系列生产级特性(例如嵌入式服务器,安全性,度量标准,运行状况检查和外部化配置)
  6. 开箱即用的 Spring 插件,“核心 + 插件” 的架构体系

快速入门

完成一个简单的 web 应用,实现一个简单的 Http 请求处理,通过这个例子对 Spring Boot 有一个初步的了解,并体验其结构简单、开发快速的特性

创建 Maven 工程

使用 IDE 创建一个简单 Maven 工程,然后在 pom 文件中添加 Spring Boot 的依赖。

要使用 Spring Boot,仅需 pom 文件继承自 spring-boot-starter-parent 项目,并添加一个或多个 “Starters” 的依赖(这里是web应用,添加 spring-boot-starter-web 依赖)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>demo01</artifactId>
<version>0.0.1-SNAPSHOT</version>

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

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

</project>

我们引入的依赖配置,只要 groupId 和 artifactId 即可,因为 version 已经在父 pom (spring-boot-starter-parent)中定义了

准备好 pom 之后,创建一个有 main 方法的类,并在类上添加注释

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

快速创建 Spring Boot 项目

另外创建 Spring Boot 项目还有更加便捷的方法

1、通过 Spring Initializr 工具产生基础项目

2、访问 https://start.spring.io/ 选择构建工具(Maven/Gradle)、Spring Boot版本以及一些工程基本信息

3、Generate Project 之后下载压缩包

4、解压压缩包,并使用 IDE 工具导入工程

如果是使用 IntelliJ IDEA 工具,可以直接新建 Spring Boot 工程 (eclipse 可以下载 spring tools 插件)

1、File > New > Project 中选择 Spring Initializr

2、创建的时候也可以直接选择需要的依赖项

3、创建的项目结构如下

pom 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?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 http://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.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</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>

编写 Controller 服务

创建 HelloController 类

1
2
3
4
5
6
7
8
@RestController
public class HelloController {

@RequestMapping("/hello")
public String hello(){
return "Hello World";
}
}

此时,我们就可以启动 DemoApplication 程序了,直接运行,我们可以看到控制台信息

打开浏览器访问 http://localhost:8080/hello 可以看到输出

创建一个可执行的Jar

要创建可执行jar,我们需要添加 spring-boot-maven-plugin 到我们的 pom.xml

1
2
3
4
5
6
7
8
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

可执行jar(有时称为“fat jar”)是包含已编译类以及代码需要运行的所有jar依赖项的归档