freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

通過代碼實例跟我學(xué)面向方面編程從入門到精通——在項目中實現(xiàn)springaop的around類型通知advice的應(yīng)用實例-展示頁

2024-09-23 09:56本頁面
  

【正文】 finally{ if(methodReturnBoolean){ (, methodName+功能方法執(zhí)行結(jié)束,并且已經(jīng)成功地執(zhí)行了! + () + \n)。 try { (500)。 } try{ returnResult = ()。 try { (500)。 String methodName=().getName()。 public LogInterceptor() { } public Object invoke(MethodInvocation methodInvocation) throws Throwable { boolean methodReturnBoolean=false。 import 。 import 。 package 。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 3/21 頁 ( 3) Interceptor 可以是一個鏈 我們可以將一連串的 Interceptor 設(shè)計為一個鏈?zhǔn)浇Y(jié)構(gòu),在 Spring 中,在真正執(zhí)行某個方法前,會先插入 Interceptor,每個 Interceptor 會執(zhí)行自己的處理,然后再執(zhí)行proceed,這將執(zhí)行流程轉(zhuǎn)給下一個 Interceptor,如果沒有下一個 Interceptor 了,就執(zhí)行真正要調(diào)用的方法,方法執(zhí)行過后,再一層一層地返回 Interceptor 鏈?zhǔn)浇Y(jié)構(gòu),最后離開鏈?zhǔn)浇Y(jié)構(gòu)。 ( 2) Interceptor 的具體應(yīng)用 應(yīng)用 Interceptor 的一個例子是 Servlet 中的 Filter 機制,在 Filter 機制下,當(dāng)請求來臨時,會被 Filter 先攔截并進行處理,之后傳給下一個 Filter,可能最后才是真正處理請求的 Servlet。 應(yīng)用 可視化方式添加 AOP 系統(tǒng)庫 使用 Interceptor(攔截器) ( 1)使 用 Interceptor 我們希望在方法執(zhí)行前、后進行記錄的動作,在 AOP 中這需要 Around 類型的 Advice。 Spring 的 AOP 框架中也直接以這些 API 為基礎(chǔ)所構(gòu)建。 AOP 聯(lián)盟規(guī)范了一套用于規(guī)范 AOP 實現(xiàn)的底層 API,通過這些統(tǒng)一的底層 API,可以使得各個 AOP 實現(xiàn)及工具產(chǎn)品之間實現(xiàn)相互移植。 在項目中添加與 Spring AOP 有關(guān)的系統(tǒng)庫 ( 1)添加 Spring 系統(tǒng)中的 包文件 ( 2)再添加如下的系統(tǒng)庫 (在 系 統(tǒng) 中 ) , 并 且 是 后 面 的 接口所在的系統(tǒng)庫。楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 1/21 頁 在 項目 中實現(xiàn) Spring AOP的 Around類型 通知( Advice) 的應(yīng)用實例 編程實現(xiàn)的技術(shù) 要點 通常,實現(xiàn) Around 類型的策略是使用 Interceptor(攔截器)作為 Around 類型的Advice也就是要實現(xiàn) MethodInterceptor 接口。 由于原始的方法是被開發(fā)者在 攔截器中進行調(diào)用,從而可以通過 攔截器 來控制原始類中的方法的真正執(zhí)行過程或者對其附加功能。 ( 也 在 系統(tǒng)中) ,用于沒有實現(xiàn)接口的類代理。這些 API 主 要以標(biāo)準(zhǔn)接口的形式提供,是AOP 編程思想所要解決的橫切交叉關(guān)注點問題各部件的最高抽象。 由于 Spring 版的 AOP 同樣 實現(xiàn)了 AOP 聯(lián)盟約定的接口,而 在 版的 Spring 框楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 2/21 頁 架 系統(tǒng)庫中 并 不 提 供 該 接 口 的 源 代 碼 , 可以在 官 方 網(wǎng) 站 : 下載系統(tǒng)庫。通常,實現(xiàn) Around 類型的策略是使用 Interceptor。 實現(xiàn) AOP 時所使用的 Interceptor 策略與 Filter 類似,所不同的是 Filter 被綁定于Servlet API,并且只適用于 Web 應(yīng)用。 ( 4) Spring 在實現(xiàn) Interceptor 時,是實現(xiàn) 接口 在本 Project 中添加一個 LogInterceptor 類(實現(xiàn) Log 的記錄) ( 1)類名稱為 LogInterceptor,包名稱為 ( 2)編程 LogInterceptor 程序 類 要在 Spring 中用作 around 通知, AroundAdvice 類必須實現(xiàn) MethodInterceptor 接口楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 4/21 頁 并重寫 它的 invoke(..)方法 每當(dāng)截獲到 主功能類中的特定的 方法 被調(diào)用時, 重寫 的invoke(..)方法就會被 自動 調(diào)用。 import 。 import 。 public class LogInterceptor implements MethodInterceptor { private Logger logger = (().getName())。 Object returnResult =null。 (, methodName+ 功 能 方 法 開 始 執(zhí) 行 ... + ())。 } catch (InterruptedException e) { ()。 methodReturnBoolean=((Boolean)returnResult).booleanValue()。 } catch (InterruptedException e) { ()。 } else{ (, methodName+方法執(zhí)行結(jié)束,并且執(zhí)行失敗! + () + \n)。 //一定要將目標(biāo)方法的返回結(jié)果繼續(xù)向上返回! } } 對比應(yīng)用 Spring AOP 中 的攔截器程序和 Java 中的動態(tài)代理程序之間的差別, 代碼簡單 ,而且不需要在代碼中人為指定 目標(biāo)類和動態(tài)創(chuàng)建代理類的對象 。 也可以采用下面的代碼 獲取 Java 現(xiàn)在正調(diào)用的方法名 String methodName =().getStackTrace()[1].getMethodName()。 Thread類中的 getStackTrace方法 返回一個表示該線程堆棧轉(zhuǎn)儲的堆棧跟蹤元素數(shù)組。如果返回的數(shù)組不是零長度的,則其第一個元素代表堆棧頂,它是該序列中最新的方法調(diào)用。 了解 ProxyFactoryBean 組件 的 技術(shù) 特性 楊教授工作室
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1