Spring Boot構建web項目示例

這次示例緊接著上一次,所以我也就不再廢話了。直接開始

將上一次目錄整理如下:

保存一個用戶示例:

實現表單驗證的簡單示例:

需求:不允許未成年註冊信息

測試:

使用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