魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Library - Maven - SpringBoot 3

文章摘要: 摘要内容。

重要

条件和版本说明

  • ^ Java 17
  • Spring Framework 6
  • MySQL 8.0

相关信息

外部相关文章

  • 参考第三方博客文章:博客园-yuey6670,讲述了项目依赖、配置文件、目录结构。

内部相关文章

  • SpringBoot 3 项目单元测试:Library-Maven-SpringBoot3-热门推荐-项目单元测试
  • SpringBoot 3 约定:Library-Maven-SpringBoot3-约定

注释

当进行微服务开发时的专业术语歧义:

  • 拆分模块(开发中) == 拆分多服务(部署中)

简介

简要说明

  • Spring Boot 3项目是基于 Spring Framework 6 的全新版本,旨在简化Spring应用的初始搭建以及开发过程。它提供了一系列的自动化配置,使得开发者能够快速启动并运行一个独立的、生产级别的基于Spring的应用。
  • spring boot 是以启动器为单位,整合各种需求的依赖。
  • 官方文档:网站链接,国内网速不稳定。

主要功能

  • 自动配置:根据项目中添加的依赖自动配置Spring应用。
  • 独立运行:内嵌Tomcat、Jetty或Undertow,无需部署到外部服务器。
  • 简化依赖管理:通过提供一系列的"Starters",简化了依赖的添加和管理。
  • 生产就绪特性:提供了一系列生产就绪特性,如指标、健康检查和外部化配置。
  • 无代码生成和XML配置:不需要代码生成,也不需要XML配置文件。

注意事项

  • 兼容性:Spring Boot 3 基于 Spring Framework 6,可能不兼容早期版本的Spring应用。
  • JDK版本:需要JDK 17或更高版本。
  • 依赖升级:在迁移旧项目到 Spring Boot 3 时,需要注意第三方依赖的兼容性。
  • 配置变更:部分配置属性可能在新版本中发生变化,需要根据官方文档进行相应的调整。

适用场景

  • 微服务架构:适用于构建微服务架构中的独立服务。
  • 快速原型开发:适合快速启动新项目,进行原型设计和开发。
  • 全栈开发:提供全栈开发支持,包括前端、后端、数据库等。
  • 企业级应用:适用于构建大型企业级应用,提供丰富的功能和生产就绪特性。
  • 云原生应用:支持云原生应用的开发,与容器化技术(如Docker)和编排工具(如Kubernetes)无缝集成。

Maven坐标

<!-- 继承父级项目 -->
<parent> <!-- 引入并继承spring boot提供的父级pom.xml -->
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>3.3.1</version>
</parent>

项目搭建

  • 使用Maven来搭建SpringBoot项目的流程:Library-Maven-SpringBoot3-问题总结-手动搭建基于Maven的项目

运行流程

详细总结:Library-Maven-SpringBoot3-问题总结-代码运行流程

场景启动器

命名规范

  • 官方提供的场景:命名为:spring-boot-starter-*
  • 第三方提供场景:命名为:*-spring-boot-starter

详细总结:Library-Maven-SpringBoot3-场景启动器(starter)

配置文件

  • SpringBoot使用一个全局的配置文件,核心配置文件,配置文件名在约定的情况下,名字是固定的,
  • 配置文件的作用:修改SpringBoot自动配置的默认值,实现自定义。

SpringBoot配置文件支持的属性汇总:Library-Maven-SpringBoot3-配置文件-YAML文件

SpringBoot项目配置文件推荐方案:Library-Maven-SpringBoot3-热门推荐-配置方案

配置文件格式

application.properties配置文件

  • Properties格式文件的语法规则:Language-Properties

application.yml配置文件

  • YAML格式文件的语法规则:Language-YAML

加载顺序

根据文件格式

  • yml < yaml < properties配置文件。

根据文件位置

配置文件位置说明优先级
classpath:/资源根路径最低
classpath:/config/*/资源根路径下的config目录
classpath:/config/资源根路径下的config目录
file:./项目根路径
file:./config/*/
file:./config/项目根路径下的config目录
java -jar <项目名>.jar --spring.config.location=<配置文件位置>命令行指定文件最大

Profile文件的加载

  • Profile的意思是配置,对于应用程序来说,不同的环境需要不同的配置。

  • SpringBoot框架提供了多profile的管理功能,可以和私用profile功能来区分不同环境的配置。

  • spring官方给出的语法规则是:application-{profile}.properties(.yml)

  • 默认配置环境(application.properties)

  • 开发配置环境(application-dev.properties)

  • 生产配置环境(application-prod.properties)

案例

  • 实现两种环境下进行切换,需要在默认配置环境(application.properties)中加入如下内容即可。
spring.profiles.active = prod

读取配置文件属性绑定到Java类属性上

详细总结:Library-Maven-SpringBoot3-注解

自动配置

自动配置类的原理

DevTools热部署

  • Spring Boot DevTools 是一个为开发者提供便捷的工具集。

主要功能

自动重启

  • 当你的代码发生变化并保存时,Spring Boot 应用程序会自动重启。
  • 这使得开发者能够快速看到代码更改后的效果,无需手动停止和启动应用程序。

实时重载

  • 对于静态资源和视图模板(如 Thymeleaf)的更改,应用程序会实时重载这些资源,无需重启。
  • 这意味着你可以立即看到对 HTML、CSS 或 JavaScript 文件的更改。

实现步骤

详细总结:Library-Maven-SpringBoot3-问题总结-DevTools依赖实现热部署

日志

  • SpringBott3 默认使用的是Logback日志框架实现
  • 日志的应用程序属性:Library-Maven-SpringBoot3-配置文件-YAML文件

注释

日志级别和日志配置文件,请查看具体的日志依赖,本文章不再详细展开。

切换其他日志框架

注释

SLF4J只能运行1个桥接器,因此需要取消掉一个桥接器。

通过将依赖中手动把排除掉。

<!-- 引入依赖 -->
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
		<!-- 排除依赖 -->
		<exclusions>
			<!-- 排除具体依赖 -->
			<exclusion>
		        <artifactId>spring-boot-starter-logging</artifactId>
		        <groupId>org.springframework.boot</groupId>
		    </exclusion>
		</exclusions>
	</dependency>
</dependencies>

添加log4j2的场景启动器

<!-- 引入依赖 -->
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-log4j2</artifactId>
	</dependency>
</dependencies>

添加log4j的日志配置文件

Web开发

调用rest http接口

  • 通过RestTemplate调用:这是Spring提供的用于访问Rest服务的。提供的一种模板类来进行操作。
  • 适用场景:在微服务架构下,服务之间通过网络远程调用。

WebClient

  • 无阻塞。依赖无响应式的应用。

通过MockMvc测试

springboot整合swagger

spring MVC

Servlet容器

spring boot 与AOP

整合第三方功能

详细总结:Library-Maven-SpringBoot3-问题总结-整合第三方功能

整合Mybatis

整合Druid

自定义Starter启动器

集成第三方中间件

详细总结:Library-Maven-SpringBoot3-问题总结-集成第三方中间件

更新时间: 2025/11/16 17:17