久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

SpringBoot中使用AOP打印接口日志的方法-創(chuàng)新互聯(lián)

前言

元江縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

AOP 是 Aspect Oriented Program (面向切面)的編程的縮寫。他是和面向?qū)ο缶幊滔鄬Φ囊粋€概念。在面向?qū)ο蟮木幊讨?,我們傾向于采用封裝、繼承、多態(tài)等概念,將一個個的功能在對象中來實現(xiàn)。但是,我們在實際情況中也發(fā)現(xiàn),會有另外一種需求就是一類功能在很多對象的很多方法中都有需要。例如有一些對數(shù)據(jù)庫訪問的方法有事務管理的需求,有很多方法中要求打印日志。按照面向?qū)ο蟮姆绞?,那么這些相同的功能要在很多地方來實現(xiàn)或者在很多地方來調(diào)用。這就非常繁瑣并且和這些和業(yè)務不相關(guān)的需求耦合太緊密了。所以后來就出現(xiàn)了面向切面的編程來解決這一類問題,并對面向?qū)ο蟮木幊套隽撕芎玫难a充

概念

要很好的理解面向切面的編程,先要理解 AOP 的一些概念。在 Java 中 AspectJ 比較完整的實現(xiàn)了 AOP 的功能,但是使用起來也比較復,所以這里主要是討論 Spring 的 AOP 。Spring AOP 采用簡單夠用的原則,實現(xiàn)了 AOP 的核心功能。下面先說說 AOP 中的具體概念

  1. Aspect:方面。一個可以切入多個類的關(guān)注點。這個關(guān)注點實現(xiàn)了我們前面說的具體的業(yè)務功能。例如打印日志,進行數(shù)據(jù)庫的事務管理等。
  2. Joint point:被切入點。是指具體要實現(xiàn)前面所說的例如打印日志,數(shù)據(jù)庫事務管理的被切入的點。也就是通過 AOP 將切面功能動態(tài)加入進去的程序位置。在 Spring AOP 里面這個指的都是某個方法
  3. Pointcut:切點。用來指明如何通過規(guī)則匹配 Joint point。這個規(guī)則是一個表達式。在 Spring 中,默認使用的是 AspectJ 的 pointcut 表達式語言
  4. Advice:指明在一個切入點的不同位置上采取的動作。例如對于一個數(shù)據(jù)庫訪問事務管理來說,在進入方法后要開啟事務,在方法結(jié)束前要提交事務,在發(fā)生錯誤的時候要回滾事務。這屬于三個不同的 Advice,要分別進行實現(xiàn)。Advice 通常和具體的 Pointcut 關(guān)聯(lián)在一起。
  5. AOP proxy:AOP 代理。用來實現(xiàn)將 Advice 功能動態(tài)加入到 Pointcut 的方法。在 Spring 的 AOP 中采用動態(tài)代理和 CGLIB 代理的方式來實現(xiàn)。而 AspectJ 則采用了特定編譯器侵入字節(jié)碼的方式來實現(xiàn)。

SprinBoot AOP 實現(xiàn)

前面我們已經(jīng)用好幾章講述了 SpringBoot 的基本使用。那么這里我們就用 SpringBoot 和 AOP 結(jié)合來實現(xiàn)一個輸出所有 Rest 接口輸入?yún)?shù)和返回參數(shù)的日志的功能。

實現(xiàn) rest 服務功能。

根據(jù)前面的文章,我們先建立一個 SpingBoot 的工程如下圖所示

SpringBoot 項目配置

我們對 SpringBoot 項目配置如下

server:
 port: 3030
 servlet:
  context-path: /aop-demo
spring:
 jackson:
  date-format: yyyy-MM-dd HH:mm:ss
  serialization:
   indent-output: true
logging:
 level:
  com.yanggch: debug

當前標題:SpringBoot中使用AOP打印接口日志的方法-創(chuàng)新互聯(lián)
文章出自:http://www.sd-ha.com/article24/dojhje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、服務器托管、網(wǎng)站收錄、App設計外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設