最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot 核心模塊詳解(12 個(gè)模塊詳解及作用說(shuō)明)

 更新時(shí)間:2025年04月22日 11:40:05   作者:栗箏i  
和 Spring 框架一樣,Spring Boot 框架也是由許多核心模塊組成的,每個(gè)模塊負(fù)責(zé)不同的功能點(diǎn),本文講著重于介紹 Spring Boot 相關(guān)的 12 個(gè)模塊的作用和功能,感興趣的朋友一起看看吧

1、Spring Boot 項(xiàng)目介紹

Spring Boot 是 Spring 全家桶項(xiàng)目中的一個(gè)子項(xiàng)目,也是 Spring 組件應(yīng)用一站式解決方案,它基于 Spring 框架,主要作用是通過(guò) “約定優(yōu)于配置” 的核心思想,顯著降低了 Spring 應(yīng)用的門(mén)檻,讓開(kāi)發(fā)者能夠快速構(gòu)建生產(chǎn)級(jí)的獨(dú)立應(yīng)用。所以現(xiàn)在 Spring Boot 也成了后端標(biāo)準(zhǔn)的開(kāi)發(fā)框架。

和 Spring 框架一樣,Spring Boot 框架也是由許多核心模塊組成的,每個(gè)模塊負(fù)責(zé)不同的功能點(diǎn),本文講著重于介紹 Spring Boot 相關(guān)的 12 個(gè)模塊的作用和功能。

下圖為 Spring-Boot 3.x 項(xiàng)目結(jié)構(gòu)截圖(模塊介紹的結(jié)構(gòu)以 Spring-Boot 3.x 為主):

image-20250421104511938

2、Spring Boot 各模塊介紹

2.1、spring-boot

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

  • 提供了一個(gè)啟動(dòng) Spring 應(yīng)用的主類(lèi),并提供了一個(gè)相當(dāng)方便的靜態(tài)方法,它的主要作用是負(fù)責(zé)創(chuàng)建和刷新 Spring 容器的上下文;
  • 提供了內(nèi)嵌式的并可自由選擇搭配的 Servlet 應(yīng)用容器,如 Tomcat、Jetty、Undertow 等;
  • 提供了一流的配置外部化支持;
  • 提供了一個(gè)很方便的 Spring 容器上下文初始化器,包括對(duì)合理記錄日志默認(rèn)參數(shù)的支持。

2.2、spring-boot-autoconfigure

這個(gè)模塊提供了常用的 Java 主流技術(shù)的自動(dòng)配置組件,其提供的 @EnableAutoConfifiguration 注解就能啟用 Spring Boot 的自動(dòng)配置功能,它能根據(jù)類(lèi)路徑下的內(nèi)容決定是否自動(dòng)配置。

  • 作用:實(shí)現(xiàn)自動(dòng)配置的核心模塊。
  • 解釋?zhuān)篠pring Boot 通過(guò)這個(gè)模塊根據(jù)當(dāng)前 classpath 中的依賴(lài)、配置和類(lèi)自動(dòng)裝配 Spring Bean,極大地簡(jiǎn)化了配置流程。比如你引入了 spring-boot-starter-web,它就會(huì)自動(dòng)配置 DispatcherServlet、TomcatJackson 等。

2.3、spring-boot-actuator:

這是 Spring Boot 提供的監(jiān)控模塊,比如,它提供了健康端點(diǎn)、環(huán)境端點(diǎn)、Spring Bean 端點(diǎn)等端點(diǎn),可以更好地幫助開(kāi)發(fā)者監(jiān)控應(yīng)用并和應(yīng)用進(jìn)行交互。

  • 作用:提供生產(chǎn)環(huán)境中應(yīng)用監(jiān)控和管理的功能。
  • 解釋?zhuān)喊ń】禉z查、應(yīng)用指標(biāo)、信息、環(huán)境變量、線程、日志級(jí)別等端點(diǎn)(比如 /actuator/health、/actuator/metrics)。

2.4、spring-boot-actuato-autoconfigure:

這個(gè)模塊是為 spring-boot-actuator 監(jiān)控模塊提供自動(dòng)配置的模塊。

  • 作用:為 Actuator 提供自動(dòng)配置支持。
  • 解釋?zhuān)菏?actuator 的自動(dòng)配置部分,讓你無(wú)需手動(dòng)注冊(cè)和配置每個(gè)監(jiān)控端點(diǎn),比如 HealthEndpointAutoConfiguration 等類(lèi)。

2.5、spring-boot-parent

Parent POM,位于 Spring Boot 的底層模塊中,專(zhuān)門(mén)用于管理構(gòu)建插件、通用屬性、構(gòu)建 profile 等基礎(chǔ)配置。

它不是專(zhuān)門(mén)給用戶(hù)直接使用的,而是 Spring Boot 自己用來(lái)構(gòu)建 starter、autoconfigure 等模塊的父級(jí)。

而為用戶(hù)準(zhǔn)備的 Parent POM 是 spring-boot-starter-parent 模塊,它簡(jiǎn)化了用戶(hù)項(xiàng)目配置,同時(shí)繼承自 spring-boot-parent

2.6、spring-boot-dependencies

只管理各種依賴(lài)的版本,不包含任何構(gòu)建配置或插件設(shè)置。

可以用它來(lái):

  • 替代 Spring Boot 提供的 Parent
  • 在自己的 Parent 項(xiàng)目中引用它,來(lái)享受 Spring Boot 提供的版本管理

2.7、spring-boot-test:

這是模塊是 Spring Boot 的測(cè)試模塊,為應(yīng)用提供了許多非常有用的單元測(cè)試功能,包含了單元測(cè)試所需要的 常用注解、斷言、mock 支持、TestContext 框架集成 等內(nèi)容。

  • 常用測(cè)試注解:@SpringBootTest, @MockBean, @SpyBean, @TestComponent, @TestConfiguration 等;
  • 斷言工具:AssertJ 集成、TestRestTemplate、OutputCapture 等;
  • 模擬框架集成:支持 Mockito、Hamcrest、AssertJ;
  • TestContext 支持:整合 Spring 測(cè)試上下文加載邏輯;
  • 環(huán)境隔離工具:@DirtiesContext, @TestPropertySource;
  • 應(yīng)用上下文加載:測(cè)試時(shí)自動(dòng)加載配置文件、Bean、環(huán)境等。

2.8、spring-boot-test-autoconfigure

這個(gè)模塊是為 spring-boot-test 測(cè)試模塊提供自動(dòng)配置的模塊。提供 一組自動(dòng)化配置的測(cè)試切片(Test Slice),用于做快速、輕量級(jí)的單元測(cè)試,只加載部分上下文(而不是整個(gè)應(yīng)用)。

  • @WebMvcTest:只加載 MVC 相關(guān)組件(不加載 Service/Repository)
  • @DataJpaTest:加載 JPA Repository + 內(nèi)存數(shù)據(jù)庫(kù)(不加載 Web 層)…

2.9、spring-boot-devtools

spring-boot-devtools 是一個(gè)專(zhuān)為本地開(kāi)發(fā)環(huán)境優(yōu)化體驗(yàn)的開(kāi)發(fā)者工具模塊,主要用于Spring Boot應(yīng)用的開(kāi)發(fā)階段,它提供了一些顯著提升開(kāi)發(fā)效率的特性:自動(dòng)重啟、LiveReload、禁用緩存等功能,讓開(kāi)發(fā)過(guò)程更高效流暢。這個(gè)模塊的功能是可選的,只限于本地開(kāi)發(fā)環(huán)境,當(dāng)打成整包運(yùn)行時(shí),這些功能會(huì)自動(dòng)被禁用。

  • 自動(dòng)重啟:代碼、配置文件等發(fā)生變更時(shí)自動(dòng)重啟 Spring Boot 應(yīng)用(比熱部署更快);
  • LiveReload 支持:自動(dòng)刷新瀏覽器頁(yè)面(前提是瀏覽器安裝 LiveReload 插件);
  • 禁用緩存:頁(yè)面模板不緩存(Thymeleaf、FreeMarker、Mustache),改完立即生效;
  • 熱加載靜態(tài)資源支持:修改 static 文件夾中的資源時(shí),頁(yè)面自動(dòng)刷新。

2.10、spring-boot-doc

spring-boot-docs 是 Spring Boot 官方文檔的源碼模塊,用于生成 Spring Boot 的參考文檔站點(diǎn)。

2.11、spring-boot-starters

spring-boot-starters 是 Spring Boot 提供的一組模塊化依賴(lài)集合,用于快速集成常用功能(Web、JPA、Security、Thymeleaf等)。它本身是一個(gè) 聚合模塊(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 內(nèi)部使用的一組工具類(lèi)模塊集合,服務(wù)于打包、加載、開(kāi)發(fā)效率提升等目的,通常由插件或構(gòu)建系統(tǒng)間接使用。

spring-boot-tools
├── spring-boot-loader        ← 打包可執(zhí)行 JAR 的核心
├── spring-boot-buildpack-platform ← 支持 buildpack 容器構(gòu)建
├── spring-boot-buildpack-tools    ← buildpack 構(gòu)建邏輯
├── spring-boot-docker-compose     ← 支持 docker-compose 自動(dòng)管理
├── spring-boot-antlib        ← 支持 Apache Ant 構(gòu)建
├── ...

X、后記

Spring Boot 的設(shè)計(jì)不僅追求極致的開(kāi)發(fā)效率,還為系統(tǒng)可維護(hù)性和擴(kuò)展性提供了堅(jiān)實(shí)的架構(gòu)基礎(chǔ)。掌握這些核心模塊的職責(zé)與配合方式,能夠幫助我們?cè)趯?shí)際項(xiàng)目中更加靈活地集成功能、排查問(wèn)題或做性能優(yōu)化。

希望這篇文章能為你在使用或深入理解 Spring Boot 的過(guò)程中提供一些實(shí)用的參考。如果你覺(jué)得有幫助,歡迎點(diǎn)贊收藏,也可以留言交流你的見(jiàn)解與實(shí)踐經(jīng)驗(yàn)。

相關(guān)文章

  • 基于SpringBoot實(shí)現(xiàn)一個(gè)有趣好玩的年會(huì)抽獎(jiǎng)系統(tǒng)

    基于SpringBoot實(shí)現(xiàn)一個(gè)有趣好玩的年會(huì)抽獎(jiǎng)系統(tǒng)

    年會(huì)抽獎(jiǎng)是每個(gè)企業(yè)年末的重要活動(dòng),本文將基于SpringBoot框架,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)公正、有趣、好玩的年會(huì)抽獎(jiǎng)系統(tǒng),確保抽獎(jiǎng)過(guò)程的透明性和隨機(jī)性,同時(shí)增加多種互動(dòng)功能,有需要的可以了解下
    2026-02-02
  • Springboot創(chuàng)建子父工程過(guò)程圖解

    Springboot創(chuàng)建子父工程過(guò)程圖解

    這篇文章主要介紹了Springboot創(chuàng)建子父工程過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • IntelliJ IDEA修復(fù)ESLint:修復(fù)'prettier/prettier' 警告的六種方法

    IntelliJ IDEA修復(fù)ESLint:修復(fù)'prettier/prettier'&n

    本文介紹了在IntelliJIDEA或WebStorm中修復(fù)ESLint警告的多種方法,包括使用快速修復(fù)功能、配置保存時(shí)自動(dòng)修復(fù)、手動(dòng)運(yùn)行ESLint修復(fù)、檢查配置和依賴(lài)、臨時(shí)忽略規(guī)則以及常見(jiàn)問(wèn)題排查,需要的朋友可以參考下
    2026-03-03
  • Java仿淘寶首頁(yè)分類(lèi)列表功能的示例代碼

    Java仿淘寶首頁(yè)分類(lèi)列表功能的示例代碼

    這篇文章主要介紹了仿淘寶分類(lèi)管理功能的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,也給大家做個(gè)參考
    2018-05-05
  • springboot實(shí)現(xiàn)發(fā)送QQ郵箱

    springboot實(shí)現(xiàn)發(fā)送QQ郵箱

    這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)發(fā)送QQ郵箱,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Springboot啟動(dòng)同時(shí)創(chuàng)建數(shù)據(jù)庫(kù)和表實(shí)現(xiàn)方法

    Springboot啟動(dòng)同時(shí)創(chuàng)建數(shù)據(jù)庫(kù)和表實(shí)現(xiàn)方法

    這篇文章主要介紹了Springboot啟動(dòng)同時(shí)創(chuàng)建數(shù)據(jù)庫(kù)和表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • Java?String之contains方法的使用詳解

    Java?String之contains方法的使用詳解

    這篇文章主要介紹了Java?String之contains方法的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 如何實(shí)現(xiàn)java遞歸 處理權(quán)限管理菜單樹(shù)或分類(lèi)

    如何實(shí)現(xiàn)java遞歸 處理權(quán)限管理菜單樹(shù)或分類(lèi)

    這篇文章主要介紹了如何實(shí)現(xiàn)java遞歸 處理權(quán)限管理菜單樹(shù)或分類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java中Maven的打包方式和執(zhí)行jar詳解

    Java中Maven的打包方式和執(zhí)行jar詳解

    這篇文章主要介紹了Java中maven的打包方式和執(zhí)行jar,文中有詳細(xì)的代碼示例,有需要的朋友可以借鑒一下
    2023-04-04
  • Java判斷時(shí)間段內(nèi)文件是否更新的方法

    Java判斷時(shí)間段內(nèi)文件是否更新的方法

    這篇文章主要介紹了Java判斷時(shí)間段內(nèi)文件是否更新的方法,通過(guò)實(shí)例形式講述了定時(shí)器、類(lèi)加載器及線程等方法實(shí)現(xiàn)判斷文件更新的功能,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

封开县| 石河子市| 南溪县| 永宁县| 林甸县| 福安市| 呼图壁县| 揭东县| 通许县| 建瓯市| SHOW| 宁强县| 肥东县| 独山县| 长治市| 永城市| 天祝| 巴东县| 天峻县| 镇原县| 怀集县| 札达县| 常山县| 长垣县| 登封市| 儋州市| 丰台区| 永新县| 丁青县| 泸西县| 哈尔滨市| 临颍县| 连平县| 蒲江县| 景东| 淅川县| 河津市| 亳州市| 商城县| 五河县| 五大连池市|