成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

慕課網(wǎng)_《SpringBoot進(jìn)階之Web進(jìn)階》學(xué)習(xí)總結(jié)

lifefriend_007 / 3192人閱讀

摘要:時(shí)間年月日星期日說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼個(gè)人學(xué)習(xí)源碼第一章課程介紹課程介紹本課程緊接著小時(shí)學(xué)會(huì)課程,請(qǐng)先看入門課。異常返回通知在連接點(diǎn)拋出異常后執(zhí)行。

時(shí)間:2017年3月19日星期日
說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com
教學(xué)示例源碼:https://github.com/zccodere/s...
個(gè)人學(xué)習(xí)源碼:https://github.com/zccodere/s...

第一章:課程介紹

1-1 課程介紹

本課程緊接著《2小時(shí)學(xué)會(huì)SpringBoot》課程,請(qǐng)先看入門課。
傳送門:https://segmentfault.com/a/11...

web進(jìn)階

1.使用@Valid表單驗(yàn)證
2.使用AOP處理請(qǐng)求
3.統(tǒng)一異常處理
4.單元測(cè)試
第二章:Web進(jìn)階 2-0 表單驗(yàn)證

1.在實(shí)體Bean里需要校驗(yàn)的字段上面添加注解

2.在接收參數(shù)時(shí),使用@Valid注解進(jìn)行校驗(yàn)

2-1 使用AOP處理請(qǐng)求(上)

AOP統(tǒng)一處理請(qǐng)求日志

也談AOP

1.AOP是一種編程方式
    --與語(yǔ)言無關(guān),是一種程序設(shè)計(jì)思想
    --面向切面(AOP)Aspect Oriented Programming
    --面向?qū)ο螅∣OP)Object Oriented Programming
    --面向過程(POP)Procedure Oriented Programming
2.面向過程到面向?qū)ο?    --面向過程:假如下雨了,我打開了雨傘
    --面向?qū)ο螅禾鞖?>下雨,我->打傘
3.換個(gè)角度看世界,換個(gè)姿勢(shì)處理問題
4.將通用邏輯從業(yè)務(wù)邏輯中分離出來

AOP示例

提取執(zhí)行相同的代碼為一個(gè)切面

2-2 使用AOP處理請(qǐng)求(中)

編寫切面通知執(zhí)行方法

@Aspect:聲明當(dāng)前類是一個(gè)切面處理類
@Component:聲明當(dāng)前類是一個(gè)Bean,由Spring的IOC容器進(jìn)行管理
@Pointcut:聲明需要處理的切點(diǎn)

spring aop通知(advice)分成五類:

@Before:前置通知[Before advice]:在連接點(diǎn)前面執(zhí)行,前置通知不會(huì)影響連接點(diǎn)的執(zhí)行,除非此處拋出異常。
@AfterReturning:正常返回通知[After returning advice]:在連接點(diǎn)正常執(zhí)行完成后執(zhí)行,如果連接點(diǎn)拋出異常,則不會(huì)執(zhí)行。
@AfterThrowing:異常返回通知[After throwing advice]:在連接點(diǎn)拋出異常后執(zhí)行。
@After:返回通知[After (finally) advice]:在連接點(diǎn)執(zhí)行完成后執(zhí)行,不管是正常執(zhí)行完成,還是拋出異常,都會(huì)執(zhí)行返回通知中的內(nèi)容。
@Around:環(huán)繞通知[Around advice]:環(huán)繞通知圍繞在連接點(diǎn)前后,比如一個(gè)方法調(diào)用的前后。這是最強(qiáng)大的通知類型,能在方法調(diào)用前后自定義一些操作。環(huán)繞通知還需要負(fù)責(zé)決定是繼續(xù)處理join point(調(diào)用ProceedingJoinPoint的proceed方法)還是中斷執(zhí)行。

2-3 使用AOP處理請(qǐng)求(下)

2-4 統(tǒng)一異常處理(上)

什么是異常處理?

如果不加異常處理的話,程序出錯(cuò)了,用戶可能不知道是啥原因。加上處理后,比如加上友好信息等用戶能知道錯(cuò)在哪。

為什么要統(tǒng)一異常處理?

1、在框架層面封裝checked exception,將其轉(zhuǎn)化為unchecked exception,避免開發(fā)過程中編寫繁冗的try...catch代碼。 
2、業(yè)務(wù)層面的開發(fā),根據(jù)程序代碼職責(zé)定義不同的RuntimeException(它就是unchecked exception,一般定義為RuntimeException的子類) 
3、通過前兩個(gè)觀點(diǎn),系統(tǒng)中自定義的異常將只存在unchecked exception,系統(tǒng)只在于客戶端交換數(shù)據(jù)的上層,設(shè)置統(tǒng)一異常處理機(jī)制,并將一些異常轉(zhuǎn)化為用戶所能理解的信息傳達(dá)給用戶。 
4、其他如業(yè)務(wù)層,數(shù)據(jù)持久層,等底層只負(fù)責(zé)將異常拋出即可,但要注意不要丟失掉異常堆棧(這一點(diǎn)是初學(xué)者容易犯的一個(gè)錯(cuò)誤)。 

以上答案內(nèi)容節(jié)選自:http://redhacker.iteye.com/bl...

例子:獲取某女生的年齡并判斷,小于10,返回“應(yīng)該在上小學(xué)”,大于10且小于16,返回“可能在上初中”。

可能比較容易想到的解決方案是:通過標(biāo)識(shí)來傳遞信息,比如

2-5 統(tǒng)一異常處理(中)

使用統(tǒng)一異常處理后,則為另一種解決方式

步驟一:自定義異常

步驟二:全局異常統(tǒng)一處理類

步驟三:使用自定義異常

2-6 統(tǒng)一異常處理(下)

使用枚舉進(jìn)行優(yōu)化響應(yīng)編碼及響應(yīng)消息,便于統(tǒng)一維護(hù)

步驟一:定義枚舉類

步驟二:優(yōu)化自定義異常

步驟三:使用自定義異常

2-7 單元測(cè)試

目錄

測(cè)試Service
測(cè)試API

測(cè)試Service

測(cè)試Controller

第三章:課程總結(jié) 3-1 課程總結(jié)

web進(jìn)階

1.使用@Valid表單驗(yàn)證
2.使用AOP處理請(qǐng)求
3.統(tǒng)一異常處理
4.單元測(cè)試

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66835.html

相關(guān)文章

  • 課網(wǎng)_《Java模板引擎Freemarker》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期日說明本文部分內(nèi)容均來自慕課網(wǎng)。整體目錄結(jié)構(gòu)如下項(xiàng)目文件用于數(shù)據(jù)持久化配置項(xiàng)目配置配置視圖解析器配置靜態(tài)資源映射配置配置配置自定義指令配置解析器配置,類似于項(xiàng)目啟動(dòng)類新建,注冊(cè)配置類,并將其和當(dāng)前關(guān)聯(lián)。 時(shí)間:2017年3月19日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:無個(gè)人學(xué)習(xí)源碼:https://githu...

    xumenger 評(píng)論0 收藏0
  • 課網(wǎng)_《2小時(shí)學(xué)會(huì)SpringBoot學(xué)習(xí)總結(jié)

    摘要:小時(shí)學(xué)會(huì)學(xué)習(xí)總結(jié)時(shí)間年月日星期六說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼暫無。數(shù)據(jù)庫(kù)操作下第六章事務(wù)管理事務(wù)管理只有查詢的時(shí)候不加事務(wù),其它任何操作都要加事務(wù)。第七章課程回顧課程回顧總結(jié)介紹安裝配置的使用數(shù)據(jù)庫(kù)操作 《2小時(shí)學(xué)會(huì)SpringBoot》學(xué)習(xí)總結(jié) 時(shí)間:2017年2月18日星期六說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示...

    aisuhua 評(píng)論0 收藏0
  • 一份最中肯的Java學(xué)習(xí)路線+資源分享(拒絕傻逼式分享)

    摘要:因?yàn)槟承┰?,不方便在這里直接發(fā)送百度鏈接,關(guān)注我的微信公眾號(hào)面試通關(guān)手冊(cè)回復(fù)資源分享第一波即可領(lǐng)取。然后大家還有什么問題的話,可以在我的微信公眾號(hào)后臺(tái)面試通關(guān)手冊(cè)給我說或者加我微信,我會(huì)根據(jù)自己的學(xué)習(xí)經(jīng)驗(yàn)給了說一下自己的看法。 這是一篇針對(duì)Java初學(xué)者,或者說在Java學(xué)習(xí)路線上出了一些問題(不知道該學(xué)什么、不知道整體的學(xué)習(xí)路線是什么樣的) 第一步:Java基礎(chǔ)(一個(gè)月左右) 推薦...

    hearaway 評(píng)論0 收藏0
  • 課網(wǎng)_《Java圖片驗(yàn)證碼》學(xué)習(xí)總結(jié)

    時(shí)間:2017年07月09日星期日說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:無學(xué)習(xí)源碼:https://github.com/zccodere/s... 第一章:概述 1-1 課程概述 主要內(nèi)容 驗(yàn)證碼歷史 課程內(nèi)容 不同方案對(duì)比 設(shè)計(jì)與實(shí)現(xiàn) 總結(jié) 1-2 驗(yàn)證碼歷史 驗(yàn)證碼歷史 無驗(yàn)證碼:垃圾騷擾 Luis von Ahn:Captcha 不斷...

    haitiancoder 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<