gpt4 book ai didi

java - Spring AOP,应用 protected /私有(private)建议

转载 作者:行者123 更新时间:2023-12-01 15:17:24 26 4
gpt4 key购买 nike

我一直在研究 Spring 的 aop:config XML 配置。当我将建议方法设置为 protected /私有(private)方法时,我期望得到运行时异常。然而,建议方法被正确执行。这是否意味着Spring正在修改advice方法的访问权限,或者这里发生了其他事情?澄清一下:

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 类位于不同的包中。

最佳答案

在处理advice时,Spring通过反射来处理每个被注解的类,并且不会直接从外部调用你的类的方法,因此你的advice的可见性权限是不相关的。

不幸的是,没有精确的文档能够深入解释 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

关于java - Spring AOP,应用 protected /私有(private)建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11447777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com