規範詳細說明
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...