无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

[Java干貨系列]Springboot項(xiàng)目腳手架手把手教程(6)SpringBoot項(xiàng)目AOP統(tǒng)一打印

2023-08-28 15:35 作者:搬磚后端研發(fā)  | 我要投稿

背景

在實(shí)際Web項(xiàng)目中,我們通常都會(huì)在比如請求進(jìn)來時(shí)或者返回后能夠記錄日志方便日后排查問題等。甚至有時(shí)候我們需要在內(nèi)部的某些方法邏輯執(zhí)行前、執(zhí)行后做一些操作,比如:對參數(shù)進(jìn)行解密,對所有的返回值進(jìn)行加密等。這些與業(yè)務(wù)無關(guān)的操作,傳統(tǒng)做法就是在每個(gè)期望的地方都去手動(dòng)記錄日志,但有了AOP的思想和實(shí)現(xiàn),其實(shí)沒有必要在每個(gè)方法中都寫一遍,這里我們有兩種方式實(shí)現(xiàn),一是自定義個(gè)注解和切面方法來實(shí)現(xiàn),可以適用任何你希望的方法上;二是針對controller的方法可以使用 springmvc 中的@ControllerAdvice 和 RequestBodyAdvice、ResponseBodyAdvice 來對請求前后進(jìn)行處理,本質(zhì)上也是 aop 的思想

自定義方式

自定義注解和切面方法,在方法執(zhí)行開始之前和結(jié)束之后,打印出參、入?yún)⑷罩?/p>

RestControllerAdvice方式

RequestBodyAdvice:會(huì)對被@RquestBody和@PostMapping(@PutMapping等也生效)注解的請求進(jìn)行增強(qiáng)處理,比如所有請求的數(shù)據(jù)都加密之后放在 body 中,在到達(dá) controller 的方法之前,需要先進(jìn)行解密,那么就可以通過 RequestBodyAdvice 來進(jìn)行統(tǒng)一的解密處理,無需在 controller 方法中去做這些通用的操作。

ResponseBodyAdvice:類似RequestBodyAdvice,對 Controller 中@ResponseBody 類型返回值進(jìn)行增強(qiáng)處理,也就是說可以攔截@ResponseBody 類型的返回值,進(jìn)行再次處理,比如加密、日志等操作。


教程

自定義方式

1.引入依賴

2.定義切點(diǎn)

3.編寫切面方法

4.編寫controller

5.演示

RestControllerAdvice方式

1.日志依賴引入,這里我們?nèi)罩究蚣芫秃唵问褂胹lf4j和logback

2.編寫Request請求日志代碼

3.編寫response響應(yīng)日志代碼

4.編寫controller

5.演示


[Java干貨系列]Springboot項(xiàng)目腳手架手把手教程(6)SpringBoot項(xiàng)目AOP統(tǒng)一打印的評論 (共 條)

分享到微博請遵守國家法律
昌江| 车险| 鲁甸县| 仁化县| 怀安县| 道孚县| 富蕴县| 阜南县| 东光县| 元阳县| 陇西县| 永春县| 合作市| 祁阳县| 嵊泗县| 呈贡县| 民和| 洪洞县| 本溪| 山东| 永寿县| 郁南县| 察雅县| 紫云| 镇原县| 舟曲县| 灵武市| 读书| 赤壁市| 榆中县| 大安市| 昌吉市| 民县| 格尔木市| 汝城县| 天台县| 东莞市| 博客| 边坝县| 中牟县| 手游|