<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Spring Boot 項(xiàng)目的這些文件都是干啥用的?

          共 2721字,需瀏覽 6分鐘

           ·

          2021-04-23 17:13

          程序員的成長(zhǎng)之路
          互聯(lián)網(wǎng)/程序員/技術(shù)/資料共享 
          關(guān)注


          閱讀本文大概需要 2.8 分鐘。


          本文我們了解下 Spring Boot 的目錄結(jié)構(gòu),了解一個(gè)事物,清楚了它的結(jié)構(gòu),明白了內(nèi)部元素各自的職責(zé),就能很好的認(rèn)識(shí)到它的組織方式和運(yùn)行機(jī)制。

          我們以 IntelliJ IDEA 這個(gè) IDE 生成的 Spring Boot 應(yīng)用為例,詳細(xì)地看一下應(yīng)用里邊都有哪些東西。

          下圖是在上一講中我們用  IntelliJ IDEA 生成的 Spring Boot 應(yīng)用

          spring_boot_idea_dir

          乍一看,內(nèi)容是挺多。不過(guò)上邊不全是 Spring Boot 本身的文件,還包含了 IDE 生成的文件以及應(yīng)用構(gòu)建時(shí)生成的文件。

          我們挨個(gè)來(lái)看吧。

          course

          course:Spring Boot 生成,應(yīng)用的根文件目錄,名稱是在創(chuàng)建應(yīng)用的時(shí)候初始化的。你創(chuàng)建的應(yīng)用名叫 demo,那這個(gè)目錄文件名就是 demo。

          .idea


          dot_idea_dir

          .idea:IntelliJ IDEA  生成,用于配置應(yīng)用信息的文件目錄。內(nèi)部包含了類庫(kù),應(yīng)用字符編碼,模塊,工作區(qū)等信息。

          .mvn

          .mvn:Spring Boot 生成,用于一鍵通過(guò) Maven 構(gòu)建、編譯、打包和部署的文件目錄。內(nèi)部結(jié)構(gòu)如下:

          dot_mvn_dir

          可以看到,該文件目錄包含了 maven-wrapper.jar、maven-wrapper.properties 和 MavenWrapperDownloader.java 三個(gè)文件。另外和 .mvn 同層級(jí)的 mvnw 和 mvnw.cmd 兩個(gè)文件,是執(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 方式呢?以下這個(gè)圖應(yīng)該可以給你講清楚!

          mvn_compare

          我們發(fā)現(xiàn)和傳統(tǒng) maven 的使用方式相比, maven-wrapper 每次更換版本要少操作一步(圖中標(biāo)紅箭頭),只需要更新配置文件(maven-wrapper.properties )中的 distributionUrl 為目標(biāo)版本即可。

          不過(guò)也有代價(jià),就是首次下載 maven 包的時(shí)候,要單獨(dú)下載 wrapper(圖中藍(lán)色區(qū)塊),但這是一勞永逸的事情。

          mvn_wrapper_cfg

          簡(jiǎn)單講,maven-wrapper 解決了應(yīng)用依賴的 Maven 版本手動(dòng)切換的問(wèn)題,達(dá)成自動(dòng)更新的目標(biāo),提高了工作效率 。

          src


          src_with_test_dir

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

          二級(jí)目錄 main存放程序?qū)嶋H執(zhí)行相關(guān)代碼,  test 存放程序測(cè)試相關(guān)代碼。

          三級(jí)目錄 java 存放后綴為 .java 的代碼文件,resources 存放靜態(tài)文件,模板文件,應(yīng)用配置文件等資源或配置類文件。java 目錄里邊就是一個(gè)個(gè)代碼包和代碼文件,CourseApplication 是整個(gè)應(yīng)用程序的啟動(dòng)入口。

          target


          target_dir

          target:應(yīng)用構(gòu)建時(shí)生成,主要存放了源代碼編譯后的 class 文件,相關(guān)的配置文件以及打好的包文件等用于實(shí)際執(zhí)行的文件。

          .gitignore


          gitingore_file

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

          course.iml


          iml_cfg

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

          HELP.md


          help_file

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

          mvnw 和 mvnw.cmd

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

          pom.xml


          pom_file

          pom.xml:Spring Boot 生成的項(xiàng)目對(duì)象模型文檔,主要描述了項(xiàng)目的 Maven 坐標(biāo)和依賴關(guān)系等信息,是項(xiàng)目級(jí)別的配置文件。

          <END>

          掃碼加入技術(shù)交流群,不定時(shí)送書

          推薦閱讀:

          總結(jié)一下,我在國(guó)企當(dāng)程序員!

          服務(wù)端如何防止重復(fù)支付

          互聯(lián)網(wǎng)初中高級(jí)大廠面試題(9個(gè)G)

          內(nèi)容包含Java基礎(chǔ)、JavaWeb、MySQL性能優(yōu)化、JVM、鎖、百萬(wàn)并發(fā)、消息隊(duì)列、高性能緩存、反射、Spring全家桶原理、微服務(wù)、Zookeeper、數(shù)據(jù)結(jié)構(gòu)、限流熔斷降級(jí)......等技術(shù)棧!

          ?戳閱讀原文領(lǐng)??!                                       朕已閱 

          瀏覽 34
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  A片电影院 | 经典三级先锋影音 | 99久久精品国产99久久久久久红桃 | 学生妹A级毛片 | 自拍偷拍亚州第一 |