2014-10-30 52 views
0

我在這裏有一個場景,並想知道如何完成它。只有在Spring AOP中有特定的類調用時纔會偵聽方法

比方說,我有方法在一個名爲類A級這種方法是通過A類的一個實例,在這兩個B類C類觸發。我怎樣才能在Spring AOP中僅僅通過B類觸發來截獲該方法。

乾杯, Thiagz

+0

正如我所看到的,如果調用者是B,則無法攔截,但是您可以截取所有內容,檢查是否有類調用了您的方法,並記錄瞭如果調用者B調用了它。 – JamesENL 2014-10-30 06:48:00

+1

這是StackOverflow和SO關於代碼。在所有應有的尊重下,是否很難提供樣本代碼,而不是用抽象的方式來形容散文中的問題?請用一個自洽的可執行代碼示例更新問題,說明當前的問題,最好是[SSCCE](http://sscce.org/)。那麼你會得到更好的幫助,特別是如果你想從我那裏得到幫助。 ':-)'我想我可以幫助你,但不想猜測你可能想知道什麼。 – kriegaex 2014-10-30 09:18:10

回答

0

你可以用類似的表達攔截以下

@Around("@annotation(someAnnotation) && execution(* x.y.z.ClassB.*(..))")

應用此ClassA的的方法被截獲 - 神奇的你正期待着謊言的execution條件。

雖然我沒有嘗試過,但希望它有幫助!

+0

我認爲@annotation不適用於我的場景,因爲我想設置傳入請求的條件,而不是要攔截的類。 – Thiagz 2014-10-30 07:54:35

相關問題