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

正文內(nèi)容

ioc和aop的概念解決層與層之間的依賴關(guān)系以及重復(fù)業(yè)務(wù)的處理畢業(yè)設(shè)計(jì)論文正文-全文預(yù)覽

2025-06-20 19:20 上一頁面

下一頁面
  

【正文】 論文) 第 18 頁 共 28 頁 開始 對象是否存在 對象 類是否存在 Property 以 name 獲取Map 中的對象 調(diào)用 set 方法注入對象 是否存在Interception 獲取攔截方法 調(diào)用 Aspect 類執(zhí)行攔截操作 結(jié)束 Y N Y Y Y 圖 獲取對象及 AOP實(shí)現(xiàn)流程圖 本科畢業(yè)設(shè)計(jì)說明書(論文) 第 19 頁 共 28 頁 4 基于注解的 IoC 和 AOP 的框架在 WEB 中的應(yīng)用 下面是該框架在 WEB 中的應(yīng)用,主要為了驗(yàn)證 IoC 和 AOP,所以只是 實(shí)現(xiàn) 了簡單的增刪改查,而沒有過多是去追求系統(tǒng)的其他功能。 (提交事務(wù) )。 } 接下來則是編寫具體實(shí)現(xiàn)攔截功能的實(shí)現(xiàn)類。 } public void setMethodsName(String[] methodsName){ =methodsName。 //所要攔截的方法 private String[] methodsName。 對于各個(gè)代理實(shí)例都被聯(lián)接了具體的處理程序代碼 。 } return target。 } catch(ClassNotFoundException e){ ()。 SpringInterceptor mi=null。 } catch (Exception e) { ()。 //判斷 ref是否為空 if(()){ ref=fieldName。 } //如果對象存在,則要判斷對象是否需要注入屬性,如果需要注入屬性,則先注入屬性在返回對象 Field []fields=().getDeclaredFields()。 } catch (Exception e) { ()。 try { //判斷注解 Name是否為空 if(()){ //如果為空將 Name設(shè)置為類名的小寫 Name=()。 //獲取包下的所有 class SetClass?classes=getClasses(packageInfo)。 } return classes。 try { //添加到 classes中 ((packageName+.+className))。 if(index!=1){ //獲取包名且把 /替換成 . packageName=(0,index).replace(/, .)。 //如果以 /開頭 本科畢業(yè)設(shè)計(jì)說明書(論文) 第 12 頁 共 28 頁 if((0)==39。 try { //獲取 jar jar=((JarURLConnection)()).getJarFile()。 //獲取包的物理路勁 String physicsPath=((), utf8)。 try { dirs=().getContextClassLoader().getResources(packageToDir)。 //將包名從以 .隔開換成以 /隔開 String packageName=packages。+className))。.39。 //循環(huán)所有文件 for (File file : dirFiles) { //如果是目錄則繼續(xù)掃描 if(()){ findAndAddClassesInPackageByFile(packageName+.+(), (), recursive, classes)。 } //如果存在就獲取包下的所有文件及目錄 File[] dirFiles=(new FileFilter() { Override public boolean accept(File file) { //如果可以循環(huán)(即包含子目錄)或是以 .class結(jié)尾的文件(即編譯好的 java文件) return (recursiveamp。 } catch (Exception e) { ()。 i++) { Node n=(i)。 NodeList nls=()。 DocumentBuilder builder=null。 } IoC實(shí)現(xiàn)(對象工廠) 首先,在工廠初始化的時(shí)候會創(chuàng)建組件的對象,而對于組件類的存放放在對應(yīng)的包中,對于讀 取的包及包的掃描則配置在 XML 中。 //組件是否存在單例,默認(rèn)為存在 public boolean isSingleton() default true。 ( 3) 智能化: 代理對象可在運(yùn)行時(shí)才去調(diào)用具體的代理類,換言之就是代理類可以在運(yùn)行時(shí)才確定代理對象 。而實(shí)現(xiàn) AOP 技術(shù)主要用到了代理模式。 處于較高層的模塊只需知道實(shí)現(xiàn) 本科畢業(yè)設(shè)計(jì)說明書(論文) 第 8 頁 共 28 頁 類的接口,具體實(shí)現(xiàn)類無需關(guān)心 。 對于具體產(chǎn)品是如何生產(chǎn)的,調(diào)用者并不用關(guān)心,他的關(guān)注點(diǎn)主要在于產(chǎn)品的接口。對于他而言只需要知道產(chǎn)品類名或者產(chǎn)品約束字符串就可以了,從而降低模塊耦合度 。 換句話說,工廠模式對于具體的 new的細(xì)節(jié)都進(jìn)行了隱藏和封裝 。當(dāng)程序員調(diào)用這些方法時(shí), 在編譯時(shí)將會顯示提示信息。 ( 2) 代碼分析: 以代碼中標(biāo)識的注解對代碼進(jìn)行分析 。 本科畢業(yè)設(shè)計(jì)說明書(論文) 第 7 頁 共 28 頁 注解的存在級別一共有三種: RUNTIME,CLASS,SOURCE。 [9] 注解 ( Annotation) Annotation(注解 )是 及以后版本引入的。有的 AOP 工具又將其稱為 mixin。 所以在實(shí) 現(xiàn) AOP 中,可通過定義一個(gè)切入點(diǎn)來攔截相關(guān)方法的調(diào)用 。 [6] IoC 容器 待使用已配置好的系統(tǒng)組件 POJOs 配置信息 產(chǎn)生 圖 IoC 圖解 本科畢業(yè)設(shè)計(jì)說明書(論文) 第 6 頁 共 28 頁 實(shí)現(xiàn)技術(shù) 對于 AOP 技術(shù)的實(shí)現(xiàn), 主要可通過以下兩種方式實(shí)現(xiàn):一種是動態(tài)代理,對原有對象的行為通過截取消息,修飾消息,最終執(zhí)行修飾后的行為 ; 另一種是靜態(tài)織入,以特定語法創(chuàng)建切面,以達(dá)到編譯器在編譯期織入切面代碼的目的 。 } //其他調(diào)用數(shù)據(jù)訪問層的方法及其他操作 } IoC 圖解 AOP(面向切面編程 ) AOP 就是 Aspect Oriented Programming 的縮寫,意為:面向切面編程 。 } //其他調(diào)用數(shù)據(jù)訪問層的方法及其他操作 } 構(gòu)造注入 構(gòu)造注入就是 在需要屬性注入的類中提供一個(gè)有參構(gòu)造,其參數(shù)就是注入的元素 。 Set 方法注入 Set 方法 注入就是在 需要屬性 注入的類中定義一個(gè) Set 方法 ,并設(shè)置注入元素為其參數(shù) 。 } 對于想要進(jìn)行數(shù)據(jù)庫操作的類就必須得實(shí)現(xiàn) IBiz 接口 ,業(yè)務(wù)邏輯類 Biz實(shí)現(xiàn)這個(gè)接口 IBiz。 [4] 接口注入 在接口 中定義要注入的信息再通過接口來完成此功能就叫接口注入 。 EJB 和 Apache Avalon 都使用這種方式。 2 IoC和 AOP IoC(控制反轉(zhuǎn)) IoC,英文全稱為 Inversion of Control,及控制反轉(zhuǎn) , 主要用于降低程序間的耦合度 。 主要組成為 Eclipse 項(xiàng)目、工具項(xiàng)目、技術(shù)項(xiàng)目,具體是指 Eclipse Platform,JDT, CDT, PDE。同時(shí)也摒棄了 C 中運(yùn)算符重載和多繼承等特征。而且該語言的應(yīng)用領(lǐng)域也極其廣泛。 [1] 本科畢業(yè)設(shè)計(jì)說明書(論文) 第 2 頁 共 28 頁 研究平臺 本文主要 是 基于 Eclipse 平臺,使用 Java 語言編寫 IoC 和 AOP 的實(shí)現(xiàn)程序。此外對于其配置既是紛繁復(fù)雜又是味同嚼蠟 。但事實(shí)上,它并沒有取得實(shí)質(zhì)性的成功,原因主要是因?yàn)椴还軓钠湫?、難度還是性能上來講都 不孚 眾望。在這里便出現(xiàn)了 AOP(面向切面編程),將其中相同的業(yè)務(wù)抽取出來進(jìn)行統(tǒng)一解決 。而框架主要工作在層與層之間,很好的解決了這一問題 。 在 軟件設(shè)計(jì) 中, 最終遵循的還是一個(gè)設(shè)計(jì)理念,就是“高內(nèi)聚,低耦合”。 對于程序的重用性與所設(shè)計(jì)的系統(tǒng)的擴(kuò)展性以達(dá)到開發(fā)周期的縮減的目的與開發(fā)質(zhì)量的提高等目的,往往是框架一直追求并良好的實(shí)現(xiàn)了的 。其間難免會出現(xiàn)耦合,而耦合度過高會降低系統(tǒng)的擴(kuò)展性和維護(hù)性。但有時(shí)候具體的業(yè)務(wù)貫穿整個(gè)系統(tǒng),而往往這個(gè)業(yè)務(wù)是重復(fù)出現(xiàn)的,利用面向?qū)ο笠巡荒芎芎媒鉀Q。 研究背 景 上世紀(jì)末與本世紀(jì)初, J2EE 開始盛行 , 主要?dú)w功于它對中間層概念提出了系統(tǒng)性標(biāo)準(zhǔn)。 因?yàn)?EJB 強(qiáng)制程序員必須依照它的規(guī)范去繼續(xù)各種不同的接口,這樣便會導(dǎo)致代碼冗余及相似。 隨著 Java 語言的發(fā)展, AOP 和 IoC 等技術(shù)的逐漸成熟,一種新的 J2EE 解決方案應(yīng)運(yùn)而生,即輕量級框架。 Java 語言不同于 其他編程語言,其優(yōu)勢主要體現(xiàn)在它具有通用、高效、安全等優(yōu)點(diǎn)。 同時(shí), Java 一改 C中指針的概念,取而代之的是引用的概念。 Eclipse Eclipse 是一個(gè)開源的軟件開發(fā)工具,同時(shí)也是功能完備,能進(jìn)行商用的工業(yè)開發(fā)平臺 。 對于 Eclipse Platform,它允許第三方工具的無縫對接,從而起到無須辨別具體工具的功能體現(xiàn)在哪里 的作用 。 [2] 依賴注入 本科畢業(yè)設(shè)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1