最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)一打印的評論 (共 條)

分享到微博請遵守國家法律
绥德县| 石狮市| 神农架林区| 河北区| 诸城市| 田东县| 青川县| 峨眉山市| 盐津县| 隆德县| 平安县| 永宁县| 宁夏| 柯坪县| 凉山| 米脂县| 炉霍县| 兴文县| 海南省| 随州市| 新余市| 固始县| 星子县| 多伦县| 巨鹿县| 西畴县| 沁阳市| 嘉善县| 临汾市| 民乐县| 望奎县| 班玛县| 祁阳县| 武乡县| 大理市| 交城县| 仲巴县| 余姚市| 六盘水市| 安庆市| 玛纳斯县|