SpringBoot
SpringBoot
NuyoahSpringBoot入门
特性
- 快速创建独立的Spring应用
- 直接嵌入Tomcat
- 重点:提供可选的starter,简化应用整合
- 重点:按需自动配置Spring以及第三方库
- 提供生产级特性:监控指标,健康检查,外部化配置
- 无代码生成,无xml
总结:简化开发,简化配置,简化整合,简化部署,简化监控,简化运维
创建示例
-
创建一个空项目
-
创建一个module,选择MAVEN
-
设置POM文件
继承springboot父项目,并引入web相关模块
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<?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.nuyoah</groupId>
<artifactId>demo-01</artifactId>
<version>1.0-SNAPSHOT</version>
<!--所有springboot项目都必须继承与 spring-boot-starter-parent-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.4</version>
</parent>
<dependencies>
<!--web开发的场景启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!--Springboot官方打包文件-->
<!-- 使用 mvn clean package 进行打包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project> -
设置主启动类
1
2
3
4
5
6
7
8
9
10
11
12
13package com.nuyoah;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}
SpringBoot打包好的文件,可以外放配置,如果jar包同级目录下有 配置文件,默认通过外部配置文件启动
应用分析
依赖管理机制
思考
-
为什么通过导入starter-web这个依赖,就可以将所相关依赖全部导入?
- 通过导入指定的开发场景启动器,导入所有相关依赖包
- maven拥有依赖传递原则,如果A依赖于B,B依赖于C,则导入A就会通过拥有B和C
- 通过导入特定的场景启动器,场景启动器中依赖的一些包,也会同时导进来
-
为什么导入场景启动器的时候不用写版本号
-
因为我们导入了父级项目
spring-boot-starter-parent
-
spring-boot-starter-parent
也有父级项目spring-boot-dependencies
-
spring-boot-dependencies
中拥有版本的控制,将比较常见的版本都写好了 -
也可以自定义配置版本号,Maven就近原则
在pom文件中定义properties定义指定的版本号
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
<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.nuyoah</groupId>
<artifactId>demo-01</artifactId>
<version>1.0-SNAPSHOT</version>
<!--所有springboot项目都必须继承与 spring-boot-starter-parent-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.4</version>
</parent>
<properties>
<mysql.version>8.0.32</mysql.version>
</properties>
<dependencies>
<!--web开发的场景启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
-
自动配置机制
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果