1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 2721字,需瀏覽 6分鐘

         ·

        2021-04-23 17:13

        程序員的成長之路
        互聯(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)容是挺多。不過上邊不全是 Spring Boot 本身的文件,還包含了 IDE 生成的文件以及應(yīng)用構(gòu)建時(shí)生成的文件。

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

        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)部包含了類庫,應(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 三個(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)版本即可。

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

        mvn_wrapper_cfg

        簡單講,maven-wrapper 解決了應(yīng)用依賴的 Maven 版本手動(dòng)切換的問題,達(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)的語法,每一行可以指定一個(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é)一下,我在國企當(dāng)程序員!

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

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

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

        ?戳閱讀原文領(lǐng)?。?/span>                                       朕已閱 

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

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            亚洲中文字幕电影 | ThePorn精品无码 | 欧美特级一级片 | 少妇高潮惨叫在线播放 | 欧美性生交A片免费看 | 精品一级视频成人网站在线观看免费 | 热热色原原网站 | 久草综合视频 | 日本三级中文在线电影 | 精品无码一区二区三区天香 |