Spring Boot應用建議及腳手架工程

2022-09-18 15:09:09 字數 2272 閱讀 2247

規範詳細說明

1.遵循標準restful api

2.異常採用列舉進行封裝(業務內部異常往上拋,返回客戶端需要將對應的異常轉換為具體的狀態的,這裡介紹spring提供的全域性異常處理)

/** * 全部異常處理

* * @author created by niugang on 2018/12/26/12:19

*/@controlleradvice

@slf4j

public class basicexceptionhandler

/*** 業務處理未知異常

** @param e 異常

* @return responseentity*/

@exceptionhandler(exception.class)

public responseentity> exceptionresultresponseentity(exception e) ", e);

return responseentity.status(exceptionenum.params_validate_fail.value())

.body(new exceptionresult(exceptionenum.params_validate_fail));

}//方法上引數校驗失敗

if (e instanceof constraintviolationexception)

log.error("伺服器內部異常:{}", e);

/** 響應的狀態碼,為列舉中定義的狀態碼

*/return responseentity.status(exceptionenum.business_deal_fail.value())

.body(new exceptionresult(exceptionenum.business_deal_fail));}}

@allargsconstructor

public enum exceptionenum

public string message()

}

引數錯誤對應400狀態碼

3.遵循嚴格的pojo,vo,dto(來自阿里j**a規範)

4.建議提倡使用lomback(讓你的**,更加簡潔,乾淨)

5.對於日誌記錄採用@slf4j

以前可能是:

6.對於響應採用responseentity,spring已經封裝好的,在一定程度上是能滿足業務場景的

public responseentitys**e(@valid @requestbody userdto userdto)

7.restful api對應以下spring請求註解

8.進行必要的引數校驗,新增引數校驗,普通查詢也有必要,如分頁查詢pagesize不做限制可能導致資料查詢異常或慢查詢

9.建議直接只用框架自帶封裝好的api,如redistemplate,rabbittemplate,kafkatemplate(自己寫的通用的可能某些地方考慮不全)

10.使用註解事務@transactional

應用PCA的建議

pca運用在監督學習演算法下,可以對資料x降維,從而加速學習演算法的速度。如下所示,我們的訓練集x是10000維向量,我們可以通過pca將其降維成z是1000維的向量,此時訓練集從 x,y 變成 z,y 每次輸入x都通過pca的對映變成z,然後再帶入到假設函式中計算。除了加速學習演算法的速度,pca...

springboot 十 監控應用

微服務的特點決定了功能模組的部署是分布式的,大部分功能模組都是執行在不同的機器上,彼此通過服務呼叫進行互動,前後臺的業務流會經過很多個微服務的處理和傳遞,出現了異常如何快速定位是哪個環節出現了問題?在這種框架下,微服務的監控顯得尤為重要。本文主要結合 spring boot actuator,跟大家...

IDEA 除錯Spring boot 應用

1.在pom.xml新增啟動引數 build plugins plugin groupid org.springframework.boot groupid artifactid spring boot m en plugin artifactid configuration jvmargument...