摘要:時間年月日星期日說明本文部分內容均來自慕課網。慕課網教學示例源碼個人學習源碼第一章課程介紹課程介紹本課程緊接著小時學會課程,請先看入門課。異常返回通知在連接點拋出異常后執行。
時間:2017年3月19日星期日
說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com
教學示例源碼:https://github.com/zccodere/s...
個人學習源碼:https://github.com/zccodere/s...
1-1 課程介紹
本課程緊接著《2小時學會SpringBoot》課程,請先看入門課。
傳送門:https://segmentfault.com/a/11...
web進階
1.使用@Valid表單驗證 2.使用AOP處理請求 3.統一異常處理 4.單元測試第二章:Web進階 2-0 表單驗證
1.在實體Bean里需要校驗的字段上面添加注解
2.在接收參數時,使用@Valid注解進行校驗
2-1 使用AOP處理請求(上)AOP統一處理請求日志
也談AOP
1.AOP是一種編程方式 --與語言無關,是一種程序設計思想 --面向切面(AOP)Aspect Oriented Programming --面向對象(OOP)Object Oriented Programming --面向過程(POP)Procedure Oriented Programming 2.面向過程到面向對象 --面向過程:假如下雨了,我打開了雨傘 --面向對象:天氣->下雨,我->打傘 3.換個角度看世界,換個姿勢處理問題 4.將通用邏輯從業務邏輯中分離出來
AOP示例
提取執行相同的代碼為一個切面
2-2 使用AOP處理請求(中)編寫切面通知執行方法
@Aspect:聲明當前類是一個切面處理類
@Component:聲明當前類是一個Bean,由Spring的IOC容器進行管理
@Pointcut:聲明需要處理的切點
spring aop通知(advice)分成五類:
@Before:前置通知[Before advice]:在連接點前面執行,前置通知不會影響連接點的執行,除非此處拋出異常。
@AfterReturning:正常返回通知[After returning advice]:在連接點正常執行完成后執行,如果連接點拋出異常,則不會執行。
@AfterThrowing:異常返回通知[After throwing advice]:在連接點拋出異常后執行。
@After:返回通知[After (finally) advice]:在連接點執行完成后執行,不管是正常執行完成,還是拋出異常,都會執行返回通知中的內容。
@Around:環繞通知[Around advice]:環繞通知圍繞在連接點前后,比如一個方法調用的前后。這是最強大的通知類型,能在方法調用前后自定義一些操作。環繞通知還需要負責決定是繼續處理join point(調用ProceedingJoinPoint的proceed方法)還是中斷執行。
什么是異常處理?
如果不加異常處理的話,程序出錯了,用戶可能不知道是啥原因。加上處理后,比如加上友好信息等用戶能知道錯在哪。
為什么要統一異常處理?
1、在框架層面封裝checked exception,將其轉化為unchecked exception,避免開發過程中編寫繁冗的try...catch代碼。 2、業務層面的開發,根據程序代碼職責定義不同的RuntimeException(它就是unchecked exception,一般定義為RuntimeException的子類) 3、通過前兩個觀點,系統中自定義的異常將只存在unchecked exception,系統只在于客戶端交換數據的上層,設置統一異常處理機制,并將一些異常轉化為用戶所能理解的信息傳達給用戶。 4、其他如業務層,數據持久層,等底層只負責將異常拋出即可,但要注意不要丟失掉異常堆棧(這一點是初學者容易犯的一個錯誤)。
以上答案內容節選自:http://redhacker.iteye.com/bl...
例子:獲取某女生的年齡并判斷,小于10,返回“應該在上小學”,大于10且小于16,返回“可能在上初中”。
可能比較容易想到的解決方案是:通過標識來傳遞信息,比如
2-5 統一異常處理(中)使用統一異常處理后,則為另一種解決方式
步驟一:自定義異常
步驟二:全局異常統一處理類
步驟三:使用自定義異常
2-6 統一異常處理(下)使用枚舉進行優化響應編碼及響應消息,便于統一維護
步驟一:定義枚舉類
步驟二:優化自定義異常
步驟三:使用自定義異常
2-7 單元測試目錄
測試Service 測試API
測試Service
測試Controller
第三章:課程總結 3-1 課程總結web進階
1.使用@Valid表單驗證 2.使用AOP處理請求 3.統一異常處理 4.單元測試
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66835.html
摘要:時間年月日星期日說明本文部分內容均來自慕課網。整體目錄結構如下項目文件用于數據持久化配置項目配置配置視圖解析器配置靜態資源映射配置配置配置自定義指令配置解析器配置,類似于項目啟動類新建,注冊配置類,并將其和當前關聯。 時間:2017年3月19日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://githu...
摘要:小時學會學習總結時間年月日星期六說明本文部分內容均來自慕課網。慕課網教學示例源碼暫無。數據庫操作下第六章事務管理事務管理只有查詢的時候不加事務,其它任何操作都要加事務。第七章課程回顧課程回顧總結介紹安裝配置的使用數據庫操作 《2小時學會SpringBoot》學習總結 時間:2017年2月18日星期六說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示...
摘要:因為某些原因,不方便在這里直接發送百度鏈接,關注我的微信公眾號面試通關手冊回復資源分享第一波即可領取。然后大家還有什么問題的話,可以在我的微信公眾號后臺面試通關手冊給我說或者加我微信,我會根據自己的學習經驗給了說一下自己的看法。 這是一篇針對Java初學者,或者說在Java學習路線上出了一些問題(不知道該學什么、不知道整體的學習路線是什么樣的) 第一步:Java基礎(一個月左右) 推薦...
時間:2017年07月09日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:無學習源碼:https://github.com/zccodere/s... 第一章:概述 1-1 課程概述 主要內容 驗證碼歷史 課程內容 不同方案對比 設計與實現 總結 1-2 驗證碼歷史 驗證碼歷史 無驗證碼:垃圾騷擾 Luis von Ahn:Captcha 不斷...
閱讀 3947·2021-10-19 13:23
閱讀 2326·2021-09-09 11:37
閱讀 2507·2019-08-29 15:20
閱讀 3407·2019-08-29 11:08
閱讀 1661·2019-08-26 18:27
閱讀 1764·2019-08-23 12:20
閱讀 3028·2019-08-23 11:54
閱讀 2544·2019-08-22 15:19