項目的工具包,以功能分包,功能之間盡量減少相互依賴,每個功能作為最小單元供服務依賴。
Try to reduce mutual dependence between functions and functions. Each function is used as the minimum unit for service dependencies.
項目地址: GitHub https://github.com/tf2jaguar/microcosm
參考文尾的 各模塊使用建議
講在前邊spring-boot
類的項目的一些增強,如果你的項目不是用spring-boot
開發(fā)的,那么它對你的用處可能沒有那么大參考: guideline
父版本添加版本控制最新版本(參考本文的發(fā)版歷史) io.github.tf2jaguar.micro micro-logging ${revision} io.github.tf2jaguar.micro micro-apollo ${revision} io.github.tf2jaguar.micro micro-qconf ${revision} io.github.tf2jaguar.micro micro-distribute ${revision} io.github.tf2jaguar.micro micro-core ${revision} io.github.tf2jaguar.micro micro-codec ${revision} io.github.tf2jaguar.micro micro-except ${revision} io.github.tf2jaguar.micro micro-micro-mybatis-plus ${revision}
api模塊增加依賴這里主要增加一些核心類庫,包括但不限于出入?yún)?shù)封裝 InputMessage, OutputMessage,
服務異常 ServerException,
業(yè)務異常 BusinessException,
核心異常枚舉 ErrorEnums
io.github.tf2jaguar.micro micro-core
自定義服務異常枚舉你可以通過實現(xiàn)ExceptionEnums
接口,來定義自己的服務異常枚舉,用來適配服務異常、業(yè)務異常。兩種異常在統(tǒng)一異常捕獲模塊,會產(chǎn)生不一樣的效果哦
public enum GmmpErrorCodes implements ExceptionEnums {// 異常
INTERNAL_EXCEPT(10000, "系統(tǒng)內(nèi)部異常"),
INVALID_SIGN(10001, "請求加密協(xié)議錯誤"),
INVALID_IP(10002, "請求IP地址異常"),
INVALID_DATA(10003, "數(shù)據(jù)錯誤"),
INVALID_PARAMS(10004, "參數(shù)錯誤"),
INVALID_CITY_ID(10005, "無效的城市編號"),
INVALID_ENTERPRISE_ID(10006, "無效的企業(yè)編號"),
// …… 省略部分
;
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模塊增加依賴這個模塊主要是通用能力的封裝,包括但不限于調(diào)用第三方服務、通用工具類處理
此處增加 出入?yún)?shù)封裝依賴(qconf適配的依賴)
配置模塊依賴io.github.tf2jaguar.micro micro-codec
如果你的服務使用qconf
而不是nacos
進行服務發(fā)現(xiàn),那么你還需要添加以下依賴
io.github.tf2jaguar.micro micro-qconf
main模塊添加依賴這個模塊是整個服務的啟動模塊,是springboot
項目的啟動類所在的模塊
這里添加日志處理、apollo配置中心、統(tǒng)一異常捕獲的依賴
配置模塊依賴io.github.tf2jaguar.micro micro-logging io.github.tf2jaguar.micro micro-apollo io.github.tf2jaguar.micro micro-except
發(fā)版日歷最新發(fā)版及調(diào)整參考: version
最新版本1.1.3.RELEASE
更新日歷 1.1.3.RELEASE發(fā)布日期:2022-06-16
發(fā)布日期:2021-07-02
發(fā)布日期:2021-07-02
發(fā)布日期:2021-07-01
ExceptionEnums
如內(nèi)置的常用異常狀態(tài)枚舉的實現(xiàn)方式public enum ErrorEnums implements ExceptionEnums
;封裝了簡單的分頁請求入?yún)⒑头祷貐?shù),封裝了接口交互的出入?yún)?shù)格式類(通過micro-codec
模塊完成出入?yún)?shù)自動封裝、解封裝)feign
調(diào)用的出入?yún)?shù)駝峰轉(zhuǎn)換;實現(xiàn)了對http
調(diào)用出入?yún)?shù)駝峰轉(zhuǎn)換,入?yún)?shù) params 封裝,出參數(shù)code、data、message
封裝;實現(xiàn)了對swagger
展示中入?yún)?shù)、出參數(shù)封裝ServerException
,打印error日志,返回接口錯誤 ;攔截業(yè)務異常BusinessException
,不打印error日志,只返回接口錯誤 ;攔截參數(shù)綁定異常BindException
,打印error日志,返回接口錯誤 ;攔截方法參數(shù)異常MethodArgumentNotValidException
,打印error日志,返回接口錯誤 ;攔截全局異常Exception
,打印error日志,返回接口錯誤發(fā)布日期:2021-05-13
發(fā)布日期:2021-05-13
http請求
的出入?yún)?shù)記錄,針對每個request
的api日志
用唯一的session_id
進行區(qū)分;使用logback記錄日志、記錄all_log、error_log、api_log、access_log
的日志并按照天做切分apollo
配置變更自動刷新;實現(xiàn)了對apollo
日志級別調(diào)整后自動刷新qconf
中獲取服務器列表,供給ribbon
遠程調(diào)用micro-logging
模塊的 pom 依賴micro.logging.api.ignore=
忽略日志打印http請求
的出入?yún)?shù)記錄,針對每個request
在日志中有唯一的session_id
進行區(qū)分micro-apollo
模塊的 pom 依賴apollo
配置變更自動刷新apollo
日志級別調(diào)整后自動刷新feign
調(diào)用的模塊中添加micro-qconf
模塊的 pom 依賴qconf
中獲取服務器列表,供給ribbon
遠程調(diào)用micro-distribute
模塊的 pom 依賴micro.distribute.machine-list=
指定當前機器集群(單機時無需配置,默認1),用來計算分布式id生成的機器id;micro.distribute.data-center-id=
指定當前數(shù)據(jù)中心id編號(單機時無需配置,默認1),用來計算分布式id生成的數(shù)據(jù)中心idmicro-core
模塊的 pom 依賴ExceptionEnums
如內(nèi)置的常用異常狀態(tài)枚舉的實現(xiàn)方式public enum ErrorEnums implements ExceptionEnums
micro-codec
模塊完成出入?yún)?shù)自動封裝、解封裝)micro-codec
模塊的 pom 依賴feign
調(diào)用的出入?yún)?shù)駝峰轉(zhuǎn)換http
調(diào)用出入?yún)?shù)駝峰轉(zhuǎn)換,入?yún)?shù)params
封裝,出參數(shù)code、data、message
封裝swagger
展示中入?yún)?shù)、出參數(shù)封裝micro-except
模塊的 pom 依賴ServerException
打印error日志,返回接口錯誤BusinessException
不打印error日志,只返回接口錯誤BindException
打印error日志,返回接口錯誤MethodArgumentNotValidException
打印error日志,返回接口錯誤Exception
打印error日志,返回接口錯誤你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
名稱欄目:microcosm(SpringBoot工具包)-創(chuàng)新互聯(lián)
文章出自:http://vcdvsql.cn/article32/ejisc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google、App設計、面包屑導航、全網(wǎng)營銷推廣、搜索引擎優(yōu)化、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容