Spring Boot 項目的這些文件都是幹啥用的?

上一講我們用官網包或者 IDE 工具,快速構建了 Spring Boot 應用,並且看到了第一個程序的運行結果:Hello World!

本文我們瞭解下 Spring Boot 的目錄結構,瞭解一個事物,清楚了它的結構,明白了內部元素各自的職責,就能很好的認識到它的組織方式和運行機制。

我們以 IntelliJ IDEA 這個 IDE 生成的 Spring Boot 應用爲例,詳細地看一下應用裏邊都有哪些東西。

下圖是在上一講中我們用 IntelliJ IDEA 生成的 Spring Boot 應用,詳情戳:五分鐘快速構建第一個 Spring Boot 應用

spring_boot_idea_dir

乍一看,內容是挺多。不過上邊不全是 Spring Boot 本身的文件,還包含了 IDE 生成的文件以及應用構建時生成的文件。

我們挨個來看吧。

course

course:Spring Boot 生成,應用的根文件目錄,名稱是在創建應用的時候初始化的。你創建的應用名叫 demo,那這個目錄文件名就是 demo。

.idea

dot_idea_dir

.idea:IntelliJ IDEA 生成,用於配置應用信息的文件目錄。內部包含了類庫,應用字符編碼,模塊,工作區等信息。

.mvn

.mvn:Spring Boot 生成,用於一鍵通過 Maven 構建、編譯、打包和部署的文件目錄。內部結構如下:

dot_mvn_dir

可以看到,該文件目錄包含了 maven-wrapper.jarmaven-wrapper.propertiesMavenWrapperDownloader.java 三個文件。另外和 .mvn 同層級的 mvnwmvnw.cmd 兩個文件,是執行 maven-wrapper.jar 的入口,mvnw 用於 Linux 或 macOS,mvnw.cmd 用於 Windows

├── .mvn 
│   └── wrapper 
│       ├── maven-wrapper.jar 
│       └── maven-wrapper.properties 
│       └── MavenWrapperDownloader.java
├── mvnw 
└── mvnw.cmd

那麼爲什麼要用 wrapper,而不用原生的 maven 方式呢?以下這個圖應該可以給你講清楚!

mvn_compare

我們發現和傳統 maven 的使用方式相比, maven-wrapper 每次更換版本要少操作一步(圖中標紅箭頭),只需要更新配置文件(maven-wrapper.properties )中的 distributionUrl 爲目標版本即可。不過也有代價,就是首次下載 maven 包的時候,要單獨下載 wrapper(圖中藍色區塊),但這是一勞永逸的事情。

mvn_wrapper_cfg

簡單講,maven-wrapper 解決了應用依賴的 Maven 版本手動切換的問題,達成自動更新的目標,提高了工作效率 。

src

src_with_test_dir

src:Spring Boot 生成,存放應用源代碼的文件目錄。

二級目錄 main存放程序實際執行相關代碼, test 存放程序測試相關代碼

三級目錄 java 存放後綴爲 .java 的代碼文件,resources 存放靜態文件,模板文件,應用配置文件等資源或配置類文件。java 目錄裏邊就是一個個代碼包和代碼文件,CourseApplication 是整個應用程序的啓動入口。

target

target_dir

target:應用構建時生成,主要存放了源代碼編譯後的 class 文件,相關的配置文件以及打好的包文件等用於實際執行的文件。

.gitignore

gitingore_file

.gitignore:Spring Boot 生成,版本控制系統 Git 的配置文件,表示忽略提交。該文件中,只要遵循相應的語法,每一行可以指定一個忽略規則。

course.iml

iml_cfg

course.iml:IntelliJ IDEA 生成,IntelliJ IDEA 的工程配置文件。包含了當前工程的一些配置信息,比如模塊信息,Java 組件,Maven 組件等等以及一些模塊的路徑信息和依賴信息。

HELP.md

help_file

HELP.md:Spring Boot 生成,幫助文檔,提供了 Spring Boot相關文檔和教程。

mvnw 和 mvnw.cmd

mvnw 和 mvnw.cmd:Spring Boot 生成,和 .mvn 目錄下文件搭配使用,是執行 mvnw 命令的入口。

pom.xml

pom_file

pom.xml:Spring Boot 生成的項目對象模型文檔,主要描述了項目的 Maven 座標和依賴關係等信息,是項目級別的配置文件。

好了,Spring Boot 應用的目錄結構介紹就到這裏,如果對你也有用的話,可以給我點個贊,點個在看,也可以分享給身邊朋友,非常感謝讀者朋友。

我是蝸牛,正在互聯網上瘋狂爬行,下期見。


我是蝸牛,Java 後端開發,正在互聯網上瘋狂爬行,歡迎一起來爬。我們下期再見!微信搜“蝸牛互聯網”回覆“1024”領取我整理的 Java 程序員必備的學習資料。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章