僅僅用配置檔案便可把程式的每一部分組裝起來。
四個bean定義的次序並不重要。我們現在有了乙個advice,乙個包含了正規表示式pointcut的advisor,乙個主程式類和乙個配置好的介面,通過工廠ctx,這個介面返回自己本身實現的乙個引用。
beanimpl和testbeforeadvice都是直接配置。我們用乙個唯一的id建立乙個bean元素,並指定了乙個實現類。這就是全部的工作。
advisor通過spring framework提供的乙個regexmethodpointcutadvisor類來實現。我們用advisor的乙個屬性來指定它所需的 advice-bean。第二個屬性則用正規表示式定義了pointcut,確保良好的效能和易讀性。
最後配置的是bean,它可以通過乙個工廠來建立。bean的定義看起來比實際上要複雜。bean是proxyfactorybean的乙個實現,它是spring framework的一部分。這個bean的行為通過一下的三個屬性來定義:
* 屬性proxyinte***ce定義了介面類。
* 屬性target指向本地配置的乙個bean,這個bean返回乙個介面的實現。
* 屬性interceptornames是唯一允許定義乙個值列表的屬性。這個列表包含所有需要在beantarget上執行的advisor。注意,advisor列表的次序是非常重要的。
spring工具
雖然你可以手工修改ant構建指令碼,但使用springui(譯註:springui現在是spring framework的一部分,並改名為spring-ide),使用spring aop變得很簡單,只要點點滑鼠即可。你可以把springui安裝成eclipse的乙個plug-in。然後,你只需在你的project上右擊滑鼠,並選擇「add spring project nature」。在project屬性中,你可以在「spring project」下新增spring配置檔案。在編譯前把下面的類庫加入project:aopalliance.jar,commons- logging.jar,jakarta-oro-2.0.7.jar和spring.jar。執行程式時你會看到下面的資訊:
... (logging information)
hello world! (by com.company.springaop.test.testbeforeadvice)
com.company.springaop.test.beanimpl.themethod() says hello!
優點和缺點
spring比起其他的framework更有優勢,因為除了aop以外,它提供了更多別的功能。作為乙個輕型framework,它在j2ee 不同的部分都可以發揮作用。因此,即使不想使用spring aop,你可能還是想使用spring。另乙個優點是,spring並不要求開發團隊所有的人員都會用它。學習spring應該從spring reference的第一頁開始。讀了本文後,你應該可以更好地理解spring reference了。spring唯一的缺點是缺乏更多的文件,但它的mailing list是個很好的補充,而且會不斷地出現更多的文件。
Beautiful Soup 中文教程
beautiful soup 是乙個處理python html xml的模組,功能相當強勁,最近仔細的看了一下他的幫助文件,終於看明白了一些。準備好好研究一下,順便將beautiful soup的一些用法整理一下,放到這個wiki上面,那個文件確實不咋地。beautiful soup 中文教程 的官...
kafka中文教程
本網翻譯整理apache kafka,提供整理apache kafka的完整學習文件。資料流,如訊息傳遞系統 高效並實時 資料流安全地在分布式集群中複製儲存 kafka是用於構建實時資料管道和流應用程式。具有橫向擴充套件,容錯,wicked fast 快 等優點,並已在成千上萬家公司執行。apach...
pandas cookbook 中文教程
pandas cookbook 中文教程 chapter 1 讀取csv.ipynb chapter 2 選取資料和資料描述.ipynb chapter 3 探索性資料分析 基礎.ipynb chapter 4 探索性資料分析 groupby和aggregate.ipynb chapter 5 合併...