Nepxion-Matrix基于 Spring AOP AutoProxy 機制定制
Matrix AOP
基于Spring AOP AutoProxy機制定制,可以輕松快速實現(xiàn)對接口或者類的復(fù)雜代理業(yè)務(wù)
介紹
1. 實現(xiàn)接口走Spring代理,類走CGLIB代理
2. 實現(xiàn)同一進(jìn)程中,可以接口代理和類代理同存
3. 實現(xiàn)對類或者接口名上注解Annotation,方法上注解Annotation的快速掃描,并開放處理接口供業(yè)務(wù)端實現(xiàn)
4. 實現(xiàn)“只掃描不代理”,“既掃描又代理”;代理支持“只代理類或者接口名上注解”、“只代理方法上的注解”、“全部代理”三種模式;掃描支持“只掃描類或者接口名上注解”、“只掃描方法上的注解”、“全部掃描”三種模式
5. 實現(xiàn)“代理和掃描多個注解“
6. 實現(xiàn)“支持多個切面實現(xiàn)類Interceptor做調(diào)用攔截”
7. 實現(xiàn)“自身調(diào)用自身的注解方法,達(dá)到切面效果”,提供自動裝配和AopContext.currentProxy()兩種方式
8. 實現(xiàn)“只掃描指定目錄”和“掃描全局目錄”兩種方式
應(yīng)用
Matrix框架一般可以應(yīng)用到如下場景中:
1. 對于有復(fù)雜AOP使用場景的,用Matrix可以簡化你的切面開發(fā)。例如:
1.1 根據(jù)不同的業(yè)務(wù)邏輯,指定所有的注解由同一個或者多個攔截類來攔截;也可以指定不同的注解由不同的切面攔截類來攔截;更可以指定不同的接口和實現(xiàn)類,由不同的攔截類來攔截
1.2 如果注解很多,可以指定,你只關(guān)心哪些類注解,哪些方法注解,不管這些注解是你自定義的,還是系統(tǒng)定義的
2. 注解加在接口上,還是實現(xiàn)類上,或者沒有接口的類,可以隨意換
3. 掃描到一個注解后,你可以做一些處理,例如你可以把注解對應(yīng)的數(shù)據(jù)存入數(shù)據(jù)庫
4. 強大的注解掃描和攔截功能,在不侵入業(yè)務(wù)代碼的前提下(只是需要在業(yè)務(wù)端加入一個注解而已),你可以實現(xiàn)業(yè)務(wù)應(yīng)用,例如API監(jiān)控統(tǒng)計、API健康檢查等
評論
圖片
表情
