欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

SpringBoot核心模块详解(12个模块详解及作用说明),

来源: javaer 分享于  点击 4324 次 点评:239

SpringBoot核心模块详解(12个模块详解及作用说明),


目录
  • 1、Spring Boot 项目介绍
  • 2、Spring Boot 各模块介绍
    • 2.1、spring-boot
    • 2.2、spring-boot-autoconfigure
    • 2.3、spring-boot-actuator:
    • 2.4、spring-boot-actuato-autoconfigure:
    • 2.5、spring-boot-parent
    • 2.6、spring-boot-dependencies
    • 2.7、spring-boot-test:
    • 2.8、spring-boot-test-autoconfigure
    • 2.9、spring-boot-devtools
    • 2.10、spring-boot-doc
    • 2.11、spring-boot-starters
    • 2.12、spring-boot-tools
  • X、后记

    1、Spring Boot 项目介绍

    Spring Boot 是 Spring 全家桶项目中的一个子项目,也是 Spring 组件应用一站式解决方案,它基于 Spring 框架,主要作用是通过 “约定优于配置” 的核心思想,显著降低了 Spring 应用的门槛,让开发者能够快速构建生产级的独立应用。所以现在 Spring Boot 也成了后端标准的开发框架。

    和 Spring 框架一样,Spring Boot 框架也是由许多核心模块组成的,每个模块负责不同的功能点,本文讲着重于介绍 Spring Boot 相关的 12 个模块的作用和功能。

    下图为 Spring-Boot 3.x 项目结构截图(模块介绍的结构以 Spring-Boot 3.x 为主):

    image-20250421104511938

    2、Spring Boot 各模块介绍

    2.1、spring-boot

    这是 Spring Boot 框架的主模块,也是支持其他模块的核心模块,主要功能如下:

    • 提供了一个启动 Spring 应用的主类,并提供了一个相当方便的静态方法,它的主要作用是负责创建和刷新 Spring 容器的上下文;
    • 提供了内嵌式的并可自由选择搭配的 Servlet 应用容器,如 Tomcat、Jetty、Undertow 等;
    • 提供了一流的配置外部化支持;
    • 提供了一个很方便的 Spring 容器上下文初始化器,包括对合理记录日志默认参数的支持。

    2.2、spring-boot-autoconfigure

    这个模块提供了常用的 Java 主流技术的自动配置组件,其提供的 @EnableAutoConfifiguration 注解就能启用 Spring Boot 的自动配置功能,它能根据类路径下的内容决定是否自动配置。

    • 作用:实现自动配置的核心模块。
    • 解释:Spring Boot 通过这个模块根据当前 classpath 中的依赖、配置和类自动装配 Spring Bean,极大地简化了配置流程。比如你引入了 spring-boot-starter-web,它就会自动配置 DispatcherServletTomcatJackson 等。

    2.3、spring-boot-actuator:

    这是 Spring Boot 提供的监控模块,比如,它提供了健康端点、环境端点、Spring Bean 端点等端点,可以更好地帮助开发者监控应用并和应用进行交互。

    • 作用:提供生产环境中应用监控和管理的功能。
    • 解释:包括健康检查、应用指标、信息、环境变量、线程、日志级别等端点(比如 /actuator/health/actuator/metrics)。

    2.4、spring-boot-actuato-autoconfigure:

    这个模块是为 spring-boot-actuator 监控模块提供自动配置的模块。

    • 作用:为 Actuator 提供自动配置支持。
    • 解释:是 actuator 的自动配置部分,让你无需手动注册和配置每个监控端点,比如 HealthEndpointAutoConfiguration 等类。

    2.5、spring-boot-parent

    Parent POM,位于 Spring Boot 的底层模块中,专门用于管理构建插件、通用属性、构建 profile 等基础配置。

    它不是专门给用户直接使用的,而是 Spring Boot 自己用来构建 starter、autoconfigure 等模块的父级。

    而为用户准备的 Parent POM 是 spring-boot-starter-parent 模块,它简化了用户项目配置,同时继承自 spring-boot-parent

    2.6、spring-boot-dependencies

    只管理各种依赖的版本,不包含任何构建配置或插件设置。

    可以用它来:

    • 替代 Spring Boot 提供的 Parent
    • 在自己的 Parent 项目中引用它,来享受 Spring Boot 提供的版本管理

    2.7、spring-boot-test:

    这是模块是 Spring Boot 的测试模块,为应用提供了许多非常有用的单元测试功能,包含了单元测试所需要的 常用注解、断言、mock 支持、TestContext 框架集成 等内容。

    • 常用测试注解:@SpringBootTest, @MockBean, @SpyBean, @TestComponent, @TestConfiguration 等;
    • 断言工具:AssertJ 集成、TestRestTemplateOutputCapture 等;
    • 模拟框架集成:支持 Mockito、Hamcrest、AssertJ;
    • TestContext 支持:整合 Spring 测试上下文加载逻辑;
    • 环境隔离工具:@DirtiesContext, @TestPropertySource
    • 应用上下文加载:测试时自动加载配置文件、Bean、环境等。

    2.8、spring-boot-test-autoconfigure

    这个模块是为 spring-boot-test 测试模块提供自动配置的模块。提供 一组自动化配置的测试切片(Test Slice),用于做快速、轻量级的单元测试,只加载部分上下文(而不是整个应用)。

    • @WebMvcTest:只加载 MVC 相关组件(不加载 Service/Repository)
    • @DataJpaTest:加载 JPA Repository + 内存数据库(不加载 Web 层)…

    2.9、spring-boot-devtools

    spring-boot-devtools 是一个专为本地开发环境优化体验的开发者工具模块,主要用于Spring Boot应用的开发阶段,它提供了一些显著提升开发效率的特性:自动重启、LiveReload、禁用缓存等功能,让开发过程更高效流畅。这个模块的功能是可选的,只限于本地开发环境,当打成整包运行时,这些功能会自动被禁用。

    • 自动重启:代码、配置文件等发生变更时自动重启 Spring Boot 应用(比热部署更快);
    • LiveReload 支持:自动刷新浏览器页面(前提是浏览器安装 LiveReload 插件);
    • 禁用缓存:页面模板不缓存(Thymeleaf、FreeMarker、Mustache),改完立即生效;
    • 热加载静态资源支持:修改 static 文件夹中的资源时,页面自动刷新。

    2.10、spring-boot-doc

    spring-boot-docs 是 Spring Boot 官方文档的源码模块,用于生成 Spring Boot 的参考文档站点。

    2.11、spring-boot-starters

    spring-boot-starters 是 Spring Boot 提供的一组模块化依赖集合,用于快速集成常用功能(Web、JPA、Security、Thymeleaf等)。它本身是一个 聚合模块(parent module),主要用于组织和管理所有 starter。

    spring-boot-starters
    ├── spring-boot-starter
    ├── spring-boot-starter-web
    ├── spring-boot-starter-data-jpa
    ├── spring-boot-starter-security
    ├── spring-boot-starter-thymeleaf
    ├── spring-boot-starter-test
    ├── ...

    2.12、spring-boot-tools

    spring-boot-tools 是 Spring Boot 内部使用的一组工具类模块集合,服务于打包、加载、开发效率提升等目的,通常由插件或构建系统间接使用。

    spring-boot-tools
    ├── spring-boot-loader        ← 打包可执行 JAR 的核心
    ├── spring-boot-buildpack-platform ← 支持 buildpack 容器构建
    ├── spring-boot-buildpack-tools    ← buildpack 构建逻辑
    ├── spring-boot-docker-compose     ← 支持 docker-compose 自动管理
    ├── spring-boot-antlib        ← 支持 Apache Ant 构建
    ├── ...

    X、后记

    Spring Boot 的设计不仅追求极致的开发效率,还为系统可维护性和扩展性提供了坚实的架构基础。掌握这些核心模块的职责与配合方式,能够帮助我们在实际项目中更加灵活地集成功能、排查问题或做性能优化。

    希望这篇文章能为你在使用或深入理解 Spring Boot 的过程中提供一些实用的参考。如果你觉得有帮助,欢迎点赞收藏,也可以留言交流你的见解与实践经验。

    您可能感兴趣的文章:
    • idea创建Springboot多模块项目(聚合项目)
    • springboot多模块项目mvn打包遇到存在依赖但却无法发现符号问题
    • springboot starter自定义实现公共模块方式
    • springboot的maven多模块混淆jar包的实现方法
    • ruoyi-springboot框架新增模块调接口报404的解决方案
    • SpringBoot + proguard+maven多模块实现代码混淆的方法
    • springboot项目父子多模块打包方式
    • springboot下添加日志模块和设置日志文件输出的方法
    相关栏目:

    用户点评