我kbow代理对象扩展了目标类并覆盖了非最终方法。我的问题是,当代理对象覆盖目标方法时,它会向目标方法添加什么额外的代码以使建议被调用?代理如何知道何时,在等之前调用建议?
答案 0 :(得分:0)
由于所使用的代码非常复杂,所以您要问的内容太宽泛了。
我不确定您为什么想知道确切的实现细节,但是作为起点,您应该检查Spring AOP的工作方式: https://docs.spring.io/spring/docs/5.1.x/spring-framework-reference/core.html#aop
Spring根据情况使用CGLIB或JDK实现代理(即:如果使用接口实现bean,Spring将尝试使用JDK)。 您可以在此处检查代理机制:https://docs.spring.io/spring/docs/5.1.x/spring-framework-reference/core.html#aop-proxying
您可以从那里搜索库并检查用于代理的代码。
我希望这可以作为您进行研究的起点。