Spring AOP,应用受保护/私人建议

时间:2012-07-12 08:23:49

标签: java spring-aop

我一直在玩Spring的aop:config XML配置。当我将advice方法设为protected / private方法时,我希望得到一个运行时异常。但是,建议方法已正确执行。这是否意味着Spring正在修改建议方法访问权限,或者是其他事情发生在这里?澄清:

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 个答案:

答案 0 :(得分:1)

在处理建议时,Spring会通过反射处理每个带注释的类,并且不会直接从外部调用您的类的方法,因此您的建议的可见性权限不相关。

不幸的是,没有精确的文档可以解释Spring如何深入工作,您将不得不帮助自己挖掘源代码。这是有道理的,因为开源项目文档的目标不是解释内部,而是如何使用项目提供的功能。

如果您真的想查看文档,http://static.springsource.org/spring/docs/3.0.7.RELEASE/spring-framework-reference/html/beans.html#beans-factory-extension向您解释AOP是通过BeanFactoryPostProcessors应用的,那么您可能想要查看javadoc:

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