2012-07-12 56 views
0

我一直在玩Spring的aop:config XML配置。當我將建議方法設置爲protected/private方法時,我期望得到運行時異常。然而,建議方法正確執行。這是否意味着Spring正在修改通知方法訪問權限,或者是在這裏發生的其他事情?澄清:Spring AOP,應用受保護/私人建議

public class Foo 
{ 
    public void foo() {} // advised method 
} 

public class Bar 
{ 
    private void bar() {} // advice method, this e.g. will be applied as before-advice to foo() above 
} 

Foo和Bar類都在不同的包中。

回答

1

在處理建議時,Spring會通過反射來處理每個帶註釋的類,並且不會直接從外部調用您的類的方法,因此您的建議的可見性權限不相關。

不幸的是,沒有精確的文檔來解釋Spring如何深入工作,您將不得不自己挖掘源代碼。這是有道理的,因爲開源項目文檔的目標不是解釋內部,而是如何使用項目提供的功能。

如果你真的想看看裏面的文件,http://static.springsource.org/spring/docs/3.0.7.RELEASE/spring-framework-reference/html/beans.html#beans-factory-extension解釋你,AOP是通過BeanFactoryPostProcessor的應用,那麼你可能想看看的Javadoc:

http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/aop/framework/package-tree.html

+0

你能PL。如果可能,鏈接到任何相關的文檔? – shrini1000 2012-07-12 09:24:48