microcosm(SpringBoot工具包)-創(chuàng)新互聯(lián)

項(xiàng)目的工具包,以功能分包,功能之間盡量減少相互依賴,每個(gè)功能作為最小單元供服務(wù)依賴。
Try to reduce mutual dependence between functions and functions. Each function is used as the minimum unit for service dependencies.

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為建筑動(dòng)畫等企業(yè)提供專業(yè)服務(wù)。具備的能力
  1. 交互協(xié)議封裝。具有統(tǒng)一的出參、入?yún)?biāo)準(zhǔn)
  2. 規(guī)范日志打印格式和分類收集。統(tǒng)一日志打印格式,適配tomcat日志、nginx日志、接口日志、異常日志以及普通日志
  3. 全局異常捕獲處理,同時(shí)具備針對(duì)特定業(yè)務(wù)的異常 BusinessException 不打印error日志,只返回接口錯(cuò)誤。以及服務(wù)級(jí)別異常 ServerException 打印error日志,返回接口錯(cuò)誤,可配合告警平臺(tái)做告警通知
  4. 具備適配 Apollo 功能,可在 Apollo 變更后自動(dòng)刷新內(nèi)存,可解決 properties、configurationProperties 導(dǎo)致的 Apollo 不刷新問題
  5. 具備適配 qconf、mybatis-plus 等能力,均可跟進(jìn)需要引入各自組件的 pom 文件即可

項(xiàng)目地址: GitHub https://github.com/tf2jaguar/microcosm

參考文尾的 各模塊使用建議

講在前邊
  1. 這個(gè)項(xiàng)目只是對(duì)spring-boot類的項(xiàng)目的一些增強(qiáng),如果你的項(xiàng)目不是用spring-boot開發(fā)的,那么它對(duì)你的用處可能沒有那么大
  2. 本指導(dǎo)用例依據(jù)個(gè)人開發(fā)習(xí)慣編寫而成,項(xiàng)目結(jié)構(gòu)參考另一個(gè)腳手架項(xiàng)目 dust
  3. 無論在什么情況下,我都會(huì)傾聽你的意見并對(duì)項(xiàng)目做出改進(jìn)
使用教程

參考: guideline

父版本添加版本控制
最新版本(參考本文的發(fā)版歷史)io.github.tf2jaguar.micromicro-logging${revision}io.github.tf2jaguar.micromicro-apollo${revision}io.github.tf2jaguar.micromicro-qconf${revision}io.github.tf2jaguar.micromicro-distribute${revision} io.github.tf2jaguar.micromicro-core${revision}io.github.tf2jaguar.micromicro-codec${revision}io.github.tf2jaguar.micromicro-except${revision} io.github.tf2jaguar.micromicro-micro-mybatis-plus${revision}
api模塊增加依賴

這里主要增加一些核心類庫,包括但不限于出入?yún)?shù)封裝 InputMessage, OutputMessage,
服務(wù)異常 ServerException,
業(yè)務(wù)異常 BusinessException,
核心異常枚舉 ErrorEnums

配置模塊依賴
io.github.tf2jaguar.micromicro-core
自定義服務(wù)異常枚舉

你可以通過實(shí)現(xiàn)ExceptionEnums接口,來定義自己的服務(wù)異常枚舉,用來適配服務(wù)異常、業(yè)務(wù)異常。兩種異常在統(tǒng)一異常捕獲模塊,會(huì)產(chǎn)生不一樣的效果哦

public enum GmmpErrorCodes implements ExceptionEnums {// 異常
    INTERNAL_EXCEPT(10000, "系統(tǒng)內(nèi)部異常"),
    INVALID_SIGN(10001, "請(qǐng)求加密協(xié)議錯(cuò)誤"),
    INVALID_IP(10002, "請(qǐng)求IP地址異常"),
    INVALID_DATA(10003, "數(shù)據(jù)錯(cuò)誤"),
    INVALID_PARAMS(10004, "參數(shù)錯(cuò)誤"),
    INVALID_CITY_ID(10005, "無效的城市編號(hào)"),
    INVALID_ENTERPRISE_ID(10006, "無效的企業(yè)編號(hào)"),
    // …… 省略部分
    ;
    private int code;
    private String message;
    public static final int MODULE = 200;
    GmmpErrorCodes(int code, String message) {this.code = code;
        this.message = message;
    }
    @Override
    public int code() {return this.code;
    }
    @Override
    public String message() {return this.message;
    }
}
common模塊增加依賴

這個(gè)模塊主要是通用能力的封裝,包括但不限于調(diào)用第三方服務(wù)、通用工具類處理

此處增加 出入?yún)?shù)封裝依賴(qconf適配的依賴)

配置模塊依賴
io.github.tf2jaguar.micromicro-codec

如果你的服務(wù)使用qconf而不是nacos進(jìn)行服務(wù)發(fā)現(xiàn),那么你還需要添加以下依賴

io.github.tf2jaguar.micromicro-qconf
main模塊添加依賴

這個(gè)模塊是整個(gè)服務(wù)的啟動(dòng)模塊,是springboot項(xiàng)目的啟動(dòng)類所在的模塊

這里添加日志處理、apollo配置中心、統(tǒng)一異常捕獲的依賴

配置模塊依賴
io.github.tf2jaguar.micromicro-loggingio.github.tf2jaguar.micromicro-apolloio.github.tf2jaguar.micromicro-except
發(fā)版日歷

最新發(fā)版及調(diào)整參考: version

最新版本

1.1.3.RELEASE

更新日歷 1.1.3.RELEASE

發(fā)布日期:2022-06-16

  1. 調(diào)整 logging 模塊中追蹤方法運(yùn)行時(shí)間的開關(guān)以及日志打印級(jí)別
1.1.2.RELEASE

發(fā)布日期:2021-07-02

  1. 修復(fù) LogRecordAspect 日志問題
1.1.1.RELEASE

發(fā)布日期:2021-07-02

  1. 修復(fù) revision 重命名問題
1.1.0.RELEASE

發(fā)布日期:2021-07-01

  1. micro-core: 自定義服務(wù)異常枚舉時(shí)實(shí)現(xiàn)ExceptionEnums如內(nèi)置的常用異常狀態(tài)枚舉的實(shí)現(xiàn)方式public enum ErrorEnums implements ExceptionEnums;封裝了簡單的分頁請(qǐng)求入?yún)⒑头祷貐?shù),封裝了接口交互的出入?yún)?shù)格式類(通過micro-codec模塊完成出入?yún)?shù)自動(dòng)封裝、解封裝)
  2. micro-codec: 實(shí)現(xiàn)了對(duì)feign調(diào)用的出入?yún)?shù)駝峰轉(zhuǎn)換;實(shí)現(xiàn)了對(duì)http調(diào)用出入?yún)?shù)駝峰轉(zhuǎn)換,入?yún)?shù) params 封裝,出參數(shù)code、data、message封裝;實(shí)現(xiàn)了對(duì)swagger展示中入?yún)?shù)、出參數(shù)封裝
  3. micro-except: 實(shí)現(xiàn)類攔截服務(wù)異常ServerException,打印error日志,返回接口錯(cuò)誤 ;攔截業(yè)務(wù)異常BusinessException,不打印error日志,只返回接口錯(cuò)誤 ;攔截參數(shù)綁定異常BindException,打印error日志,返回接口錯(cuò)誤 ;攔截方法參數(shù)異常MethodArgumentNotValidException,打印error日志,返回接口錯(cuò)誤 ;攔截全局異常Exception,打印error日志,返回接口錯(cuò)誤
  4. 增加mybatis-plus代碼生成器模塊
1.0.1.RELEASE

發(fā)布日期:2021-05-13

  1. 調(diào)整pom依賴和 guideline
1.0.0.RELEASE

發(fā)布日期:2021-05-13

  1. micro-logging: 實(shí)現(xiàn)了統(tǒng)計(jì)經(jīng)過http請(qǐng)求的出入?yún)?shù)記錄,針對(duì)每個(gè)requestapi日志用唯一的session_id進(jìn)行區(qū)分;使用logback記錄日志、記錄all_log、error_log、api_log、access_log的日志并按照天做切分
  2. micro-apollo: 實(shí)現(xiàn)了對(duì)apollo配置變更自動(dòng)刷新;實(shí)現(xiàn)了對(duì)apollo日志級(jí)別調(diào)整后自動(dòng)刷新
  3. micro-qconf: 實(shí)現(xiàn)了從qconf中獲取服務(wù)器列表,供給ribbon遠(yuǎn)程調(diào)用
  4. micro-distribute: 利用 Twitter 的 Snowflake 算法實(shí)現(xiàn)分布式ID
各模塊使用建議 micro-logging 使用建議
  1. 在啟動(dòng)模塊中添加micro-logging模塊的 pom 依賴
  2. 針對(duì) form表單提交、文件上傳/下載等接口,請(qǐng)通過spring-boot配置micro.logging.api.ignore=忽略日志打印
  3. 實(shí)現(xiàn)了統(tǒng)計(jì)經(jīng)過http請(qǐng)求的出入?yún)?shù)記錄,針對(duì)每個(gè)request在日志中有唯一的session_id進(jìn)行區(qū)分
  4. 使用logback記錄日志、記錄 all_log、error_log、api_log、access_log 日志并按照天做切分
micro-apollo 使用建議
  1. 在啟動(dòng)模塊中添加micro-apollo模塊的 pom 依賴
  2. 實(shí)現(xiàn)了對(duì)apollo配置變更自動(dòng)刷新
  3. 實(shí)現(xiàn)了對(duì)apollo日志級(jí)別調(diào)整后自動(dòng)刷新
micro-qconf 使用建議
  1. 在進(jìn)行feign調(diào)用的模塊中添加micro-qconf模塊的 pom 依賴
  2. 實(shí)現(xiàn)了從qconf中獲取服務(wù)器列表,供給ribbon遠(yuǎn)程調(diào)用
micro-distribute 使用建議
  1. 在啟動(dòng)模塊中添加micro-distribute模塊的 pom 依賴
  2. 服務(wù)集群部署,請(qǐng)通過micro.distribute.machine-list=指定當(dāng)前機(jī)器集群(單機(jī)時(shí)無需配置,默認(rèn)1),用來計(jì)算分布式id生成的機(jī)器id;
  3. 服務(wù)部署在多個(gè)數(shù)據(jù)中心,請(qǐng)通過micro.distribute.data-center-id=指定當(dāng)前數(shù)據(jù)中心id編號(hào)(單機(jī)時(shí)無需配置,默認(rèn)1),用來計(jì)算分布式id生成的數(shù)據(jù)中心id
micro-core 使用建議
  1. 在底層接口模塊中添加micro-core模塊的 pom 依賴
  2. 自定義服務(wù)異常枚舉時(shí)實(shí)現(xiàn)ExceptionEnums如內(nèi)置的常用異常狀態(tài)枚舉的實(shí)現(xiàn)方式public enum ErrorEnums implements ExceptionEnums
  3. 封裝了簡單的分頁請(qǐng)求入?yún)⒑头祷貐?shù)
  4. 封裝了接口交互的出入?yún)?shù)格式類(通過micro-codec模塊完成出入?yún)?shù)自動(dòng)封裝、解封裝)
micro-codec 使用建議
  1. 在啟動(dòng)模塊中添加micro-codec模塊的 pom 依賴
  2. 實(shí)現(xiàn)了對(duì)feign調(diào)用的出入?yún)?shù)駝峰轉(zhuǎn)換
  3. 實(shí)現(xiàn)了對(duì)http調(diào)用出入?yún)?shù)駝峰轉(zhuǎn)換,入?yún)?shù)params封裝,出參數(shù)code、data、message封裝
  4. 實(shí)現(xiàn)了對(duì)swagger展示中入?yún)?shù)、出參數(shù)封裝
micro-except 使用建議
  1. 在啟動(dòng)模塊中添加micro-except模塊的 pom 依賴
  2. 攔截服務(wù)異常ServerException打印error日志,返回接口錯(cuò)誤
  3. 攔截業(yè)務(wù)異常BusinessException不打印error日志,只返回接口錯(cuò)誤
  4. 攔截參數(shù)綁定異常BindException打印error日志,返回接口錯(cuò)誤
  5. 攔截方法參數(shù)異常MethodArgumentNotValidException打印error日志,返回接口錯(cuò)誤
  6. 攔截全局異常Exception打印error日志,返回接口錯(cuò)誤
micro-mybatis-plus 使用建議
  1. 使用其生成基礎(chǔ)實(shí)體類等

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

名稱欄目:microcosm(SpringBoot工具包)-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article32/ejisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、App設(shè)計(jì)面包屑導(dǎo)航、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)