日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Java:Spring AOP&∧重構的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

所以我開始使用Spring AOP,我突然想到了一些事情。配置方面時,所有批注都使用字符串作為參數,而不是使用類對象。

我之所以提出這個問題,是因為這意味著IDE(我使用的是Eclipse,所以我在這里只引用它)將不能正確地重構方面。因此,如果我有一個MyClass類,它的方法是公共的void Foo(),則Spring AOP批注的示例如下:

@Before ("execution(public void package.MyClass.foo())")

因為批注中的參數是一個字符串,所以如果我將方法名重構為公共void foo2(),它將破壞此方面的綁定。

我一直在搜索各種論壇和教程,但無論在哪里我都只能看到字符串參數,這表明這是唯一的選擇。我想您可以通過在聲明綁定的方式上更通用一點來解決這個問題:

@Before ("exeuction(public void package.MyClass.set*(..))")

這個新方法適用于MyClass中的任何setter方法,具有任意數量的參數(或沒有參數)。當然,像這樣含糊其辭可能并不總是奏效。

無論如何,我在這里有點咆哮,很晚了,我有點累了,我的大腦因為尋找答案而筋疲力盡。但我的最后一個問題是:有沒有辦法設置Spring AOP注釋,以便重構可以影響它們?

謝謝。

AOP

推薦答案的全部要點是以模塊化的方式實現橫切行為,并將其應用于理想情況下不知道任何方面的應用程序代碼。因此,您在兩者之間沒有固定的連接。重要的是要記住,在維護和重構應用程序代碼的同時,您還應該用它重構方面,以確保切入點不會中斷。

話雖如此,如果您安裝AJDT(AspectJ開發工具),Eclipse和其他IDE仍然會提示您應用哪些方面。我主要使用完整的AspectJ,而不是稱為Spring AOP的基于代理的”AOP lite”變體,所以我不知道AJDT對Spring AOP是否有用。不過,它將通過LTW(加載時編織)將AspectJ應用于Spring。

這里是“方面可視化”視角的屏幕截圖

它以圖形方式顯示哪些方面適用于代碼的哪些部分。如果您雙擊任何虛線,代碼編輯器將引導您到應用方面的確切位置。

還有交叉引用視圖,在方面代碼和純Java代碼中有很少的指示符:

右側是交叉引用視圖,列出了應用于當前所選方法的所有方面。在左側有一些小圖標,指示適用于每種方法的建議類型。

順便說一句,交叉引用視圖也是從方面工作的。將光標放在建議內時,外部參照視圖將列出代碼中應用該建議的所有位置:

還有更多:AspectJ編譯器可以這樣配置,以列出方面代碼建議的所有連接點。您可以手動檢查輸出更改,甚至可以在自動煙霧測試中檢查更改。例如,如果因為您更改了一些包、類或方法名稱而導致建議不再適用,則會出現Xlint警告“AdviceDidNotMatch”和/或有時還會出現“validAboluteTypeName”。此外,有問題的建議的交叉引用視圖將為空:

正如您剛才看到的,在重構應用程序或方面代碼時,AJDT中有很多指示器和幫助器。

還有一件事:如果您使用AspectJ而不是Spring AOP,您可以選擇使用更簡潔、更具表現力的原生AspectJ語法,而不是注釋樣式的語法。我肯定更喜歡前者而不是后者。然后,您的代碼編輯器中不僅有字符串,還有更好的語法突出顯示、代碼完成和重構。

最后,但并非最不重要的一點:您還應該為方面代碼編寫單元測試,也許還有集成測試,以便注意方面是否中斷。手動檢查很好,但自動回歸測試在即時反饋方面是無與倫比的。;-)

這篇關于Java:Spring AOP&∧重構的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:amp AOP Java Spring 重構
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定