這次示例緊接著上一次,所以我也就不再廢話了。直接開始
將上一次目錄整理如下:
保存一個用戶示例:
實現表單驗證的簡單示例:
需求:不允許未成年註冊信息
測試:
使用AOP處理請求:
在pom文件中添加相關依賴
切面處理(spring相關的知識,不再解釋)
測試:
使用AOP輸出日誌信息:注意logger的包所屬
測試:
AOP關於記錄http請求相關信息:
測試:
關於獲取請求返回內容示例:
測試:
關於統一異常處理:
設置保存用戶,name為必填項
設置返回數據的格式:
相關邏輯判斷:
測試:
當然以上的代碼還可以優化,比如:
統一的異常處理:
在service層中定義以下的方法
在controller調用此方法:
測試:
顯然返回的數據不是我們所需要的格式
我們創建一個異常捕獲的類,然後將其封裝到創建的Result中,然後返回給瀏覽器
測試: 這種格式看著就比較舒服
當然我們也可以自定義異常處理的類
自定義異常繼承RuntimeException,具有事務回滾的機制,不要直接繼承Exception
service層中修改代碼:
在handlerException中修改邏輯代碼
測試:
由以上情況可知,當自定義異常比較多的時候,code和msg的管理就成了一個問題,如果放任不管,那麼大量使用的時候,狀態碼一對多的關係就有可能出現,所以我們需用到枚舉類型來管理
自定義枚舉類性:
只需要有參構造和get方法
service層修改代碼:
自定義Exception代碼修改:
這樣看起來就舒服多了
關於單元測試示例:可以在方法上面使用快捷鍵 ctrl+shift+t
測試service方法
測試失敗示例:期望值是路飛,實際上是索隆 測試未通過。
測試成功示例:
測試controller API接口:
測試url:
測試返回內容:
我們每次打包項目的時候,都會自動執行單元測試,有時候,我們必須關閉單元測試,那麼該如何做的:
關閉單元測試:在項目的目錄下執行如下命令即可 mvn clean package -Dmaven.test.skip=true
閱讀更多 十二說IT 的文章