<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 項目的這些文件都是干啥用的?

          共 2424字,需瀏覽 5分鐘

           ·

          2021-02-02 21:40

          大家好,我是你們的躍哥。躍哥一直在以Java作為自己的第一語言,從之前的Android到現(xiàn)在的SpringBoot、SpringCloud、Dubbo 都還沒離開過Java。

          雖然一直強調(diào)SpringBoot,也沒好好和大家解釋過SpringBoot下的文件夾是干啥用的。那今天就和大家一起探討下吧。

          上一講我們用官網(wǎng)包或者 IDE 工具,快速構(gòu)建了 Spring Boot 應(yīng)用,并且看到了第一個程序的運行結(jié)果:Hello World!

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

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

          下圖是在上一講中我們用 ?IntelliJ IDEA 生成的 Spring Boot 應(yīng)用,詳情戳:五分鐘快速構(gòu)建第一個 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.propertiesMavenWrapperDownloader.java 三個文件。另外和 .mvn 同層級的 mvnwmvnw.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 每次更換版本要少操作一步(圖中標紅箭頭),只需要更新配置文件(maven-wrapper.properties )中的 distributionUrl 為目標版本即可。不過也有代價,就是首次下載 maven 包的時候,要單獨下載 wrapper(圖中藍色區(qū)塊),但這是一勞永逸的事情。

          mvn_wrapper_cfg

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

          src

          src_with_test_dir

          src: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_dir

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

          .gitignore

          gitingore_file

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

          course.iml

          iml_cfg

          course.iml:IntelliJ IDEA ?生成,IntelliJ IDEA 的工程配置文件。包含了當前工程的一些配置信息,比如模塊信息,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 生成的項目對象模型文檔,主要描述了項目的 Maven 坐標和依賴關(guān)系等信息,是項目級別的配置文件。

          好了,Spring Boot 應(yīng)用的目錄結(jié)構(gòu)介紹就到這里,如果對你也有用的話,可以給我點個贊,點個在看,也可以分享給身邊朋友,非常感謝讀者朋友。





          0、重磅!兩萬字長文總結(jié),梳理 Java 入門進階哪些事(推薦收藏)

          1、程序員小躍 2020 原創(chuàng)匯總來襲,全年干貨一網(wǎng)打盡

          瀏覽 94
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  国产无码天美 | 日本爱爱视频在线 | 黄色成人毛片 | 欧美一级电影在线观看 | 日韩 人妻 精品 无码 欧美 |