Yuzhii的Springboot3笔记【1】

Spring Boot 特性

Spring Boot 是 Spring 的一个子项目,它是 Spring 的简化版,目的是简化 Spring 应用的初始搭建以及开发过程。Spring Boot 通过约定大于配置的方式,简化了 Spring 应用的开发。

具体的介绍和特性可以参考

Spring Boot 官网

截至24年4月,Spring Boot 的最新版本是 3.2.4.

开发环境:

  • openjdk 21.0.2 2024-01-16 LTS

  • IntelliJ IDEA 2024.1.1

  • Spring Boot 3.2.4

  • Windows 11 Pro 23H2

Hello World

  1. 创建一个使用 maven 的空项目

  2. 创建一个模块 springboot3-01-demo

  3. 编辑 pom.xml 文件,添加 Spring Boot 的依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!-- 所有Spring Boot的依赖都是从这里继承的 -->
<version>3.2.4</version>
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- Web开发的依赖 -->
</dependency>
</dependencies>
  1. 在模块中创建一个 org.example.boot.MainApplication

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package org.yuzhii.boot;

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

/**
* @author yuzhii
* @date 2024/4/11/21:14
* @description: 项目启动类
*/

@SpringBootApplication // 标注这是一个SpringBoot应用
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}

@SpringBootApplication 注解是一个组合注解,包含了 @SpringBootConfiguration@EnableAutoConfiguration@ComponentScan 注解。

  1. 运行,访问 http://localhost:8080,可以看到 Whitelabel Error Page 页面, 状态为404,说明项目启动成功。

  2. 在 boot 下新建类 controller.HelloController

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package org.yuzhii.boot.controller;

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

/**
* @author Yuzhii
* @description TODO
* @date 2024-04-11 下午9:31
*/

@RestController
public class HelloController {

@GetMapping("/hello")
public String hello(){

return "Hello,Spring Boot 3!";
}

}

@RestController 注解是 @Controller@ResponseBody 注解的组合,表示这是一个控制器,并且返回的数据直接写给浏览器,如果是对象转为 json 数据。

  1. 访问 http://localhost:8080/hello,可以看到 Hello,Spring Boot 3!,说明项目启动成功。

  2. 打包,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>
1
2
mvn clean package #把项目打成可执行的jar包
java -jar demo.jar #启动项目

可以在IDEA中直接使用 Maven 插件运行 spring-boot:run,也可以直接运行 MainApplication 类。打包也可以直接使用 Maven 插件 package(一般要先 claen)。注意:如果是在IDEA中运行,需要在 Edit Configurations 中添加 Main Classorg.yuzhii.boot.MainApplication

application.properties

我们可以直接在生成的jar包的同级目录下创建一个 application.properties 文件,来配置一些属性。

1
server.port=8081

这样我们就可以通过 http://localhost:8081/hello 来访问我们的接口了。

Spring Boot Common Application Properties

Spring Initializr

Spring Initializr 是一个 Web 项目,可以帮助我们快速创建 Spring Boot 项目。

在 IDEA 中现在已经更名为 Spring Boot(IntelliJ IDEA 2024.1.1),可以直接在 IDEA 中创建 Spring Boot 项目。

Spring Initializr

  1. 创建一个模块

  2. 选择 Spring Boot,点击 Next

  3. 添加 Spring Web 依赖,点击 Create 创建项目。(可以根据需要选择其他依赖)

可以看到生成的项目结构和我们手动创建的项目结构是一样的。

其中 resources 目录下有一个 application.properties 文件,可以用来配置一些属性。
static 目录下可以放一些静态资源,比如 html、css、js 等。
templates 目录下可以放一些模板文件,比如 thymeleaf 模板。

参考

  • Spring Boot 官网

  • SpringBoot3全栈指南

  • gitee 案例 “leifengyang / spring-boot-3”

  • bilibili 教程 “尚硅谷SpringBoot零基础教程,面试&加薪必会springboot3”