本周(8.21-8.27)将学习芋道 Spring Boot的以下文章:
8.21: 快速入门
8.22:Spring Boot 自动配置原理 、Jar 启动原理
8.23:调试环境、 热部署入门、消除冗余代码 Lombok 入门
8.24:对象转换 MapStruct 入门、SpringMVC 入门
8.25: WebFlux 入门、 分布式 Session 入门
8.26:API 接口文档 Swagger 入门、API 接口文档 Swagger Starter 入门
8.27:参数校验 Validation 入门、WebSocket 入门
使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。 我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。
可以把Spring Boot 打包成jar来运行或者基于传统的 war 包部署的应用程序。还提供了一个用于运行 spring scripts 的命令行工具。
可以使用maven创建项目,然后在pom文件中添加spring boot的依赖
<?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>cn.iocoder</groupId>
<artifactId>demo01</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 从 Spring Boot 继承默认配置 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<!-- 实现对 SpringMVC 的自动化配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
spring-boot-starter-parent
作为父 POM,从而继承其默认配置。spring-boot-starter-web
依赖,实现对 SpringMVC 的自动化配置。在 Spring Boot 项目中,约定通过 application.yaml
配置文件,进行 Spring Boot 自动配置的 Bean 的自定义。
创建 Application 类,提供 Spring Boot 应用的启动类。代码如下:
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication
注解,声明是一个 Spring Boot 应用。通过该注解,可以带来 Spring Boot 自动配置等等功能。#main(String[] args)
方法中,我们通过 SpringApplication#run(Class primarySource, String... args)
方法,启动 Spring Boot 应用。Logger 日志组件,Spring Boot 已经自动配置
可以通过使用 Spring Initializr 工具,快速生成一个 Spring Boot 项目,本人也写过一篇以Spring Initializr创建初始一个SpringBoot的博文
在类上,添加 @SpringBootTest
注解,声明这是一个 Spring Boot 环境下的单元测试类。