Spring+mybatis+gradle 項目搭建實戰-收尾

本人博客:http://chen-shang.github.io
原文地址

約定優于配置

  1. 配置文件目錄以 conf_ + "項目名稱" 組成, 如 saas 項目其配置文件目錄為 conf_saas
  2. 配置文件目錄與項目目錄同級
chenshang@MrRobot-3:~/work/git$ tree -L 1
.
├── conf_saas
└── saas

這樣約定是為了寫部署腳本的時候方便,因為打包的時候需要應用對應環境的配置文件,所以需要制定配置文件所在目錄.這里有考慮將配置文件寫到項目目錄中,但是這樣配置文件就和項目耦合到一起了,倒不如以多項目的形式組織到一起。

因為配置文件需要使用 git 放到遠程倉庫中,這樣每次修改都會有一個明確的提交,做到有跡可循(像以前放到服務器上的話,誰修改了配置文件連個記錄都沒有,而且修改一臺機器后其他機器的修改可能會忘記)。

chenshang@MrRobot-3:~/work/git/conf_saas [master]$ tree -L 1
.
├── README.md
├── dev
├── local
├── prod01
├── prod02
└── test
chenshang@MrRobot-3:~/work/git/saas/src/main [master]$ tree -L 2
.
├── resources
    ├── conf
    ├── database
    ├── jdbc
    ├── logback.xml
    ├── mapper
    ├── script
    ├── spring
    ├── spring-mybatis
    └── spring-redis

相同配置文件放到項目中,不同環境的配置文件放到配置文件目錄中,比如 logback.xml 中的日志的輸出路徑,不同環境的日志輸出目錄肯定是不同的,所以這個文件就需要放到配置文件中,對于配置文件夾中的配置文件遵守有則改之無則添加的原則。

chenshang@MrRobot-3:~/work/git/conf_saas [master]$ tree -L 1 local/
local/
└── logback.xml

Gradle 實現多環境部署

grale 多環境部署需要應用到gradle 的源集(具體就是配置源文件夾和資源文件夾<這雖然提供了靈活,但打破了約定優與配置的原則,本來約定好了各個目錄結構的>)

sourceSets {
    main {
        resources {
            srcDir(project['resources_dir'])
        }
    }
}

指定源文件夾,源文件夾由配置來決定

ext {
    /**
     * 部署環境配置
     * env 的值可以是 local、dev、test、prod
     * local:代表本地環境(部署的時候應用的是 本地[src/main/resources]的配置文件)
     * dev|test|prod:代表 dev 環境(部署的時候應用的是 dev|test|prod 的配置文件)
     */
    if (!project.hasProperty("env")) env = "local"
    resources_dir = "${project.getRootDir().getParentFile().getPath()}/conf_saas/$env"
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,925評論 6 342
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,467評論 9 467
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,833評論 25 708
  • “我愛你,你嫁給我吧!我會一輩子對你好!” 有多少女人在這種蠱惑中含著眼淚點頭答應了男人的求婚! 女人以為走向了一...
    暖心Nancy閱讀 311評論 0 0