對某個類型中的方法進(jìn)行攔截,然后加入固定的業(yè)務(wù)邏輯,這是AOP面向切面編程可以做的事,在springboot里實現(xiàn)aop的方法也有很多, spring-boot-starter-aop
或者 aspectjweaver
都是可以實現(xiàn)的,不過我們在實現(xiàn)之前,先來看一下aop里的幾個概念。
成都一家集口碑和實力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊和靠譜的建站技術(shù),十載企業(yè)及個人網(wǎng)站建設(shè)經(jīng)驗 ,為成都上1000家客戶提供網(wǎng)頁設(shè)計制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營銷型網(wǎng)站建設(shè),
高端網(wǎng)站設(shè)計,同時也為不同行業(yè)的客戶提供
成都做網(wǎng)站、網(wǎng)站建設(shè)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選
創(chuàng)新互聯(lián)建站。
概念
- 切面(Aspect):是指橫切多個對象的關(guān)注點的一個模塊化,事務(wù)管理就是J2EE應(yīng)用中橫切關(guān)注點的很好示例。在Spring AOP中,切面通過常規(guī)類(基本模式方法)或者通過使用了注解@Aspect的常規(guī)類來實現(xiàn)。
- 連接點(Joint point):是指在程序執(zhí)行期間的一個點,比如某個方法的執(zhí)行或者是某個異常的處理。在Spring AOP中,一個連接點往往代表的是一個方法執(zhí)行。
- 通知(Advice):是指切面在某個特殊連接點上執(zhí)行的動作。通知有不同類型,包括"around","before"和"after"通知。許多AOP框架包括Spring,將通知建模成一個攔截器,并且圍繞連接點維持一個攔截器鏈。
- 切入點(Pointcut):是指匹配連接點的一個斷言。通知是和一個切入點表達(dá)式關(guān)聯(lián)的,并且在任何被切入點匹配的連接點上運行(舉例,使用特定的名字執(zhí)行某個方法)。AOP的核心就是切入點表達(dá)式匹配連接點的思想。Spring默認(rèn)使用AspectJ切入點表達(dá)式語
- 引入(Introduction):代表了對一個類型額外的方法或者屬性的聲明。Spring AOP允許引入新接口到任何被通知對象(以及一個對應(yīng)實現(xiàn))。比如,可以使用一個引入去使一個bean實現(xiàn)IsModified接口,從而簡化緩存機(jī)制。(在AspectJ社區(qū)中,一個引入也稱為一個inter-type declaration類型間聲明)
- 目標(biāo)對象(Target object):是指被一個或多個切面通知的那個對象。也指被通知對象("advised object"),由于Spring AOP是通過運行時代理事項的,這個目標(biāo)對象往往是一個代理對象。
- AOP 代理(AOP proxy):是指通過AOP框架創(chuàng)建的對象,用來實現(xiàn)切面合約的(執(zhí)行通知方法等等)。在Spring框架中,一個AOP代理是一個JDK動態(tài)代理或者是一個CGLIB代理。
- 織入(Weaving):將切面和其他應(yīng)用類型或者對象連接起來,創(chuàng)騙一個被通知對象。這些可以在編譯時(如使用AspectJ編譯器)、加載時或者運行時完成。Spring AOP,比如其他純Java AOP框架一般是在運行時完成織入。
實現(xiàn)
1 引用依賴包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
分享名稱:springboot使用自定義的aspect的示例代碼-創(chuàng)新互聯(lián)
分享路徑:http://jinyejixie.com/article38/dpogpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、搜索引擎優(yōu)化、軟件開發(fā)、企業(yè)建站、響應(yīng)式網(wǎng)站、外貿(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)