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

正文內(nèi)容

j2ee項(xiàng)目實(shí)訓(xùn)spring框架技術(shù)——第7章springaop中的advice通知第1部分(編輯修改稿)

2024-12-23 16:16 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 xyCreator class= property name=beanNames valueuserInfoManageBean,bbsInfoManagerBean/value /property property name=interceptorNames list valuecustomExceptionAdvice/value valuewebBBSInfoBeforeAdvisor/value valueuserInfoAfterReturningAdvisor/value valueuserInfoAroundAdviceAdvisor/value /list /property /bean 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 7/16 頁(yè) 在本項(xiàng)目中應(yīng)用了 Spring 框架 中實(shí)現(xiàn)“自動(dòng)代理”功能的 BeanNameAutoProxyCreator組件類, BeanNameAutoProxyCreator 組件能夠?qū)崿F(xiàn) 根據(jù) 名字匹配字符串或者通配符匹配 方式 的 Bean 組件 對(duì)象實(shí)例自動(dòng)創(chuàng)建 AOP 代理。 對(duì)該 Around 通知進(jìn)行單元測(cè)試以測(cè)試其功能是否正確地實(shí)現(xiàn) ( 1)在下面的圖 中所示的 代碼 是以測(cè)試數(shù)據(jù)庫(kù)表中存在的某個(gè)用戶名稱(本測(cè)試時(shí)選擇為“張三”)進(jìn)行注冊(cè) 圖 故意以數(shù)據(jù)庫(kù)表已經(jīng)存在的用戶 帳號(hào)進(jìn)行注冊(cè) ( 2) 以下面的圖 中所示的操作狀態(tài), 啟動(dòng)并執(zhí)行項(xiàng)目中的 對(duì) 業(yè)務(wù)組件接口UserInfoManageInterface 的 測(cè)試用例 TestUserInfoManageImple。 圖 啟動(dòng)并執(zhí)行項(xiàng)目中的 TestUserInfoManageImple 測(cè)試用例 ( 3) TestUserInfoManageImple 測(cè)試用例的執(zhí)行結(jié)果 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 8/16 頁(yè) 當(dāng) 以測(cè)試數(shù)據(jù)庫(kù)表中存在的某個(gè)用戶名稱進(jìn)行注冊(cè) 時(shí) ,則出現(xiàn)下面的 圖 中所示的錯(cuò)誤 提示。 圖 以數(shù)據(jù)庫(kù)表中存在的某個(gè)用戶名稱進(jìn)行注冊(cè)時(shí)將出現(xiàn)錯(cuò)誤 提示 ( 4)而如果改變?yōu)樵?測(cè)試 數(shù)據(jù)庫(kù)表中沒(méi)有的用戶名稱(本測(cè)試時(shí)選擇為 “ abcd”并請(qǐng)見(jiàn)下面的圖 中所示的代碼 ) 圖 改變?yōu)樵跀?shù)據(jù)庫(kù)表中沒(méi)有的用戶帳號(hào)進(jìn)行注冊(cè) ( 5) 再次執(zhí)行 TestUserInfoManageImple 測(cè)試用例 其 執(zhí)行 的 結(jié)果 請(qǐng)見(jiàn)下面的圖 中所示的結(jié)果 ,在下面的圖 中發(fā)現(xiàn)沒(méi)有出現(xiàn)錯(cuò)誤(本次測(cè)試為了簡(jiǎn)化執(zhí)行過(guò)程,臨時(shí)屏蔽了測(cè)試用例中的其它的測(cè)試方法)。 圖 改變?yōu)樵跀?shù)據(jù)庫(kù)表中沒(méi)有的用戶帳號(hào)進(jìn)行注冊(cè)時(shí)將不出現(xiàn)錯(cuò)誤 根據(jù)前面的圖 和圖 中的正反兩種狀態(tài)的測(cè)試 結(jié)果表明,前面所設(shè)計(jì)的 Around通知組件類 UserInfoAroundAdvice作為 攔截器已經(jīng)對(duì) 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 9/16 頁(yè) 的 業(yè)務(wù)接口 UserInfoManageInterface 內(nèi) 的 doUserRegister 方法進(jìn)行了 攔截,并控制了 其執(zhí)行的過(guò)程 和達(dá)到了既定的設(shè)計(jì)目標(biāo) 。 實(shí)現(xiàn) 前置 ( Before) 和 后 置 ( After) 通知 開發(fā)者經(jīng)常需要在 應(yīng)用系統(tǒng)中 實(shí)現(xiàn) “方法跟蹤” 的功能,而所謂的 “方法跟蹤”是指捕獲一個(gè)目標(biāo)應(yīng)用系統(tǒng) 中 所跟蹤的方法的調(diào)用以及 這些 方法的返回值,并以某種方式顯示出這 些 跟蹤 的結(jié)果信息。在 Spring 框架的 AOP 技術(shù)實(shí)現(xiàn) 中,前置( Before)通知和后置( After)通知類型常用于捕獲這些類型的連接點(diǎn),因?yàn)檫@兩種通知可以在方法調(diào)用的連接點(diǎn)之前或之后被觸發(fā)。 通過(guò)前置通知顯示正在被捕獲的目標(biāo)的方法,而再通過(guò)后置通知將被捕獲的目標(biāo)方法的執(zhí)行結(jié)果或者狀態(tài)顯示輸出。 Before 通知 的實(shí)現(xiàn)及應(yīng)用示例 接口 ( 1) MethodBeforeAdvice 接口的定義 在 Spring 框架 中 要 實(shí)現(xiàn) 和應(yīng)用 前置 通知,只需要對(duì) Spring 框架 AOP 中的 接口進(jìn)行實(shí)現(xiàn) , 并重寫其中的 before 方法。下面的 【例 7– 4】中所示 的代碼 為 MethodBeforeAdvice 接口的定義 。 【例 7– 4】 MethodBeforeAdvice 接口的定義 示例 public interface MethodBeforeAdvice extends BeforeAdvice { void before(Method targetMethod, Object[] methodArgs, Object targetClass) throws Throwable。 } 在接口 MethodBeforeAdvice 中只有一個(gè)方法 before 需要實(shí)現(xiàn)并請(qǐng) 注意其返回值的類型是 void,它定義了 前置通知 所應(yīng)該實(shí)現(xiàn)的行為,而該 前置通知 是在被調(diào)用的目標(biāo)方法開始執(zhí)行前被執(zhí)行的。 ( 2)對(duì)接口 MethodBeforeAdvice 中的 before 方法中的各個(gè)參數(shù)的說(shuō)明 before 方法共有三個(gè)參數(shù),它們提供了相當(dāng)豐富的與被捕獲的目標(biāo)方法有關(guān)的信息。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 10/16 頁(yè) ? 參數(shù) Method targetMethod 也就是所要監(jiān)視或者捕獲的目標(biāo)方法 開發(fā)者利用該參數(shù)可以獲得被捕獲的目標(biāo)方法的名稱,從而可以用作判斷是否要執(zhí)行目標(biāo)通知 Advice 代碼的前題條件或者作為狀態(tài)信息中的一個(gè)重要的名稱信息。 ? Object[] methodArgs 是傳給所要監(jiān)視或者捕獲的目標(biāo)方法的參數(shù)數(shù)組 當(dāng)需要進(jìn)行日志記錄功能實(shí)現(xiàn)時(shí),參數(shù) m
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1