简介
Spring Boot 简化了 Spring 应用的配置和开发,它管理着 Spring 容器和第三方插件,并提供很多默认系统级的服务,这样我们只要少量的配置和代码就能完成大部分 Spring 应用。
Spring Boot 的特性
- 可以创建独立的 Spring 应用,即可运行的 jar 包
- 提供嵌入式的 Web Server,不需要在部署 war 包
- 没有代码生成,也不需要XML配置
- 自动化配置,许多的配置都有习惯性的默认值
- 提供一系列生产级特性(例如嵌入式服务器,安全性,度量标准,运行状况检查和外部化配置)
- 开箱即用的 Spring 插件,“核心 + 插件” 的架构体系
快速入门
完成一个简单的 web 应用,实现一个简单的 Http 请求处理,通过这个例子对 Spring Boot 有一个初步的了解,并体验其结构简单、开发快速的特性
创建 Maven 工程
使用 IDE 创建一个简单 Maven 工程,然后在 pom 文件中添加 Spring Boot 的依赖。
要使用 Spring Boot,仅需 pom 文件继承自spring-boot-starter-parent项目,并添加一个或多个 “Starters” 的依赖(这里是web应用,添加 spring-boot-starter-web 依赖)
<?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 方法的类,并在类上添加注释
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
快速创建 Spring Boot 项目
另外创建 Spring Boot 项目还有更加便捷的方法
-
通过 Spring Initializr 工具产生基础项目
-
访问 https://start.spring.io/
选择构建工具(Maven/Gradle)、Spring Boot版本以及一些工程基本信息
-
Generate Project 之后下载压缩包
-
解压压缩包,并使用 IDE 工具导入工程
如果是使用 IntelliJ IDEA 工具,可以直接新建 Spring Boot 工程 (eclipse 可以下载 spring tools 插件)
- File > New > Project 中选择 Spring Initializr
- 创建的时候也可以直接选择需要的依赖项
创建的项目结构如下
pom 文件
<?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 类
@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
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
可执行jar(有时称为“fat jar”)是包含已编译类以及代码需要运行的所有jar依赖项的归档