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

正文內(nèi)容

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

2024-10-17 09:56 本頁面
 

【文章內(nèi)容簡介】 nageInterface oneAccountInfoManageBeanProxy= (AccountInfoManageInterface) ()。 (12345678,)。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 10/21 頁 (12345678,2345678,1000.0f)。 } public static void main(String[] args) { new TestLogInterceptorBySpringAOP()。 } } 注意: 此 種 方式的代碼相對比較復(fù)雜 因為,需要我們自己來獲得代理組件類的對象實例和指定目標(biāo)攔截器對象等方面的工作 。 ( 4) 執(zhí)行 測試類的 代碼,將產(chǎn)生出下面的結(jié)果。 “采用 Spring IoC 技術(shù)中的依賴注入”的方法測試本示例的應(yīng)用效果 ( 1) 本 方法 的實現(xiàn)原理 采用 Spring XML 配置文件定義各個組件 ( 聲明式 AOP 可使用 ProxyFactoryBean) 。 ( 2)測試類 TestLogInterceptorBySpringAOP 的代碼示例 package 。 import 。 import 。 import 。 public class TestLogInterceptorBySpringAOP { 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 11/21 頁 public TestLogInterceptorBySpringAOP() { AccountInfoManageInterface oneAccountInfoManageBeanProxy=null。 ApplicationContext ctx=new ClassPathXmlApplicationContext()。 // ApplicationContext ctx=new FileSystemXmlApplicationContext()。 oneAccountInfoManageBeanProxy = (AccountInfoManageInterface) (oneAccountInfoManageBeanProxy)。 (12345678,)。 (12345678,2345678,1)。 } public static void main(String[] args) { new TestLogInterceptorBySpringAOP()。 } } 我們在代碼中利用 FileSystemXmlApplicationContext 類或者ClassPathXmlApplicationContext 來讀入和處理 *.xml 的配置文件,并獲得一個創(chuàng)建工廠的對象 context( ApplicationContext 類型)。因為在 Spring 中, Spring 管理的對象都必須通過這個 ApplicationContext 工廠來創(chuàng)建或者通過注入的方式來獲得。對象通過工廠創(chuàng)建后便可正常使用。 ( 3) 執(zhí)行 本示例的測試代碼 此時,將在 Eclipse 的控制臺窗口中出現(xiàn)下面的提示 。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 12/21 頁 從上面的顯示結(jié)果中可以清楚地看到,在目標(biāo)方法的 調(diào)用前和調(diào)用后 而這正是我們前面所希望達到的目的,我們的日志處理器都被執(zhí)行了。并且采用 XML 配置的方式比直接采用編程的方式要簡單! 注意: 利用上面 的 around 形式的通知 ,我們不僅可以實現(xiàn)上面類似功能要求的實現(xiàn)。同時也可以利用該方式來達到 改變應(yīng)用 系統(tǒng)中 的 某個組件類的 常規(guī)行為 比如 重寫 組件類中某一個方法 的原始功能實現(xiàn),但又不需要對原始功能類的代碼直接進行修改 。 在應(yīng)用 Arround 類型的攔截器時一定要在攔截器中對原始的業(yè)務(wù)方法(也就是 被攔截的目標(biāo)方法)進行調(diào)用,否則原始的業(yè)務(wù)方法沒有執(zhí)行! package 。 import 。 import 。 import 。 import 。 public class LogInterceptor implements MethodInterceptor { private Logger logger = (().getName())。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 13/21 頁 public LogInterceptor() { } public Object invoke(MethodInvocation methodInvocation) throws Throwable { boolean methodReturnBoolean=false。 Object returnResult =null。 String methodName=().getName()。 (, methodName+ 功能方法開始執(zhí)行 ... + ())。 try { (500)。 } catch (InterruptedException e) { ()。 } try{ returnResult = ()。 methodReturnBoolean=((Boolean)returnResult).booleanValue()。 try { (500)。 } catch (InterruptedException e) { ()。 } } finally{ if(methodReturnBoolean){ (, methodName+功能方法執(zhí)行結(jié)束,并且已經(jīng)成功地執(zhí)行了! + () + \n)。 } else{ (, methodName+方法執(zhí)行結(jié)束,并且執(zhí)行失?。? + 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 14/21 頁 () + \n)。 } } return returnResult。 //一定要將目標(biāo)方法的返回結(jié)果繼續(xù)向上返回! } } 同時也還應(yīng)該要注意將原始方法的執(zhí)行結(jié)果也“原樣”返回給上層的程序。 1 課后作業(yè): 利用 Arround 類型的攔截器的原理,設(shè)計一個實現(xiàn)“事務(wù)控制”的攔截器,實現(xiàn)對項目中的各個 DAO 進行統(tǒng)一的事務(wù)控
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1