2012-07-12 37 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