javascript
Spring Boot 项目的这些文件都是干啥用的?
本文我們了解下 Spring Boot 的目錄結(jié)構(gòu),了解一個事物,清楚了它的結(jié)構(gòu),明白了內(nèi)部元素各自的職責(zé),就能很好的認(rèn)識到它的組織方式和運行機(jī)制。
我們以 IntelliJ IDEA 這個 IDE 生成的 Spring Boot 應(yīng)用為例,詳細(xì)地看一下應(yīng)用里邊都有哪些東西。
下圖是在上一講中我們用 ?IntelliJ IDEA 生成的 Spring Boot 應(yīng)用
spring_boot_idea_dir乍一看,內(nèi)容是挺多。不過上邊不全是 Spring Boot 本身的文件,還包含了 IDE 生成的文件以及應(yīng)用構(gòu)建時生成的文件。
我們挨個來看吧。
course
course:Spring Boot 生成,應(yīng)用的根文件目錄,名稱是在創(chuàng)建應(yīng)用的時候初始化的。你創(chuàng)建的應(yīng)用名叫 demo,那這個目錄文件名就是 demo。
.idea
dot_idea_dir.idea:IntelliJ IDEA ?生成,用于配置應(yīng)用信息的文件目錄。內(nèi)部包含了類庫,應(yīng)用字符編碼,模塊,工作區(qū)等信息。
.mvn
.mvn:Spring Boot 生成,用于一鍵通過 Maven 構(gòu)建、編譯、打包和部署的文件目錄。內(nèi)部結(jié)構(gòu)如下:
dot_mvn_dir
可以看到,該文件目錄包含了 maven-wrapper.jar、maven-wrapper.properties 和 MavenWrapperDownloader.java 三個文件。另外和 .mvn 同層級的 mvnw 和 mvnw.cmd 兩個文件,是執(zhí)行 maven-wrapper.jar 的入口,mvnw 用于 Linux 或 macOS,mvnw.cmd 用于 Windows。
├──?.mvn? │???└──?wrapper? │???????├──?maven-wrapper.jar? │???????└──?maven-wrapper.properties? │???????└──?MavenWrapperDownloader.java ├──?mvnw? └──?mvnw.cmd那么為什么要用 wrapper,而不用原生的 maven 方式呢?以下這個圖應(yīng)該可以給你講清楚!
mvn_compare我們發(fā)現(xiàn)和傳統(tǒng) maven 的使用方式相比, maven-wrapper 每次更換版本要少操作一步(圖中標(biāo)紅箭頭),只需要更新配置文件(maven-wrapper.properties )中的 distributionUrl 為目標(biāo)版本即可。不過也有代價,就是首次下載 maven 包的時候,要單獨下載 wrapper(圖中藍(lán)色區(qū)塊),但這是一勞永逸的事情。
mvn_wrapper_cfg簡單講,maven-wrapper 解決了應(yīng)用依賴的 Maven 版本手動切換的問題,達(dá)成自動更新的目標(biāo),提高了工作效率 。
src
src_with_test_dirsrc:Spring Boot 生成,存放應(yīng)用源代碼的文件目錄。
二級目錄 main存放程序?qū)嶋H執(zhí)行相關(guān)代碼, ?test 存放程序測試相關(guān)代碼。
三級目錄 java 存放后綴為 .java 的代碼文件,resources 存放靜態(tài)文件,模板文件,應(yīng)用配置文件等資源或配置類文件。java 目錄里邊就是一個個代碼包和代碼文件,CourseApplication 是整個應(yīng)用程序的啟動入口。
target
target_dirtarget:應(yīng)用構(gòu)建時生成,主要存放了源代碼編譯后的 class 文件,相關(guān)的配置文件以及打好的包文件等用于實際執(zhí)行的文件。
.gitignore
gitingore_file.gitignore:Spring Boot 生成,版本控制系統(tǒng) Git 的配置文件,表示忽略提交。該文件中,只要遵循相應(yīng)的語法,每一行可以指定一個忽略規(guī)則。
course.iml
iml_cfgcourse.iml:IntelliJ IDEA ?生成,IntelliJ IDEA 的工程配置文件。包含了當(dāng)前工程的一些配置信息,比如模塊信息,Java 組件,Maven 組件等等以及一些模塊的路徑信息和依賴信息。
HELP.md
help_fileHELP.md:Spring Boot 生成,幫助文檔,提供了 Spring Boot相關(guān)文檔和教程。
mvnw 和 mvnw.cmd
mvnw 和 mvnw.cmd:Spring Boot 生成,和 .mvn 目錄下文件搭配使用,是執(zhí)行 mvnw 命令的入口。
pom.xml
pom_filepom.xml:Spring Boot 生成的項目對象模型文檔,主要描述了項目的 Maven 坐標(biāo)和依賴關(guān)系等信息,是項目級別的配置文件。
有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號
好文章,我在看??
總結(jié)
以上是生活随笔為你收集整理的Spring Boot 项目的这些文件都是干啥用的?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Thinkphp的知识内容
- 下一篇: RocketMQ源码分析之RocketM