Java Spring AOP生成的代理类的位置

Java Spring AOP生成的代理类的位置,java,spring,proxy,aop,generated,cglib,aspectj,Java,Spring,Proxy,Aop,Generated,Cglib,Aspectj,为了学习和理解代理,我想看看SpringAOP生成的代理类。它不在Eclipse生成的classes文件夹中 有人能告诉我它的位置吗?如果您使用基于接口的代理(默认),Spring使用类在内存中动态创建代理。没有与该类关联的.class文件 当使用基于类的代理(via)时,Spring会创建类的具体子类。在调试器中,您会注意到它们的名称类似于YourRealService$$EnhancerByGlib$$…,但同样,这些类只在内存中生成,不存储在磁盘上 如果您真的想在后台看到AOP,就必须使用

为了学习和理解代理,我想看看SpringAOP生成的代理类。它不在Eclipse生成的classes文件夹中


有人能告诉我它的位置吗?

如果您使用基于接口的代理(默认),Spring使用类在内存中动态创建代理。没有与该类关联的
.class
文件

当使用基于类的代理(via)时,Spring会创建类的具体子类。在调试器中,您会注意到它们的名称类似于
YourRealService$$EnhancerByGlib$$…
,但同样,这些类只在内存中生成,不存储在磁盘上


如果您真的想在后台看到AOP,就必须使用编译时编织。太多的工作了。因此,底线是:只要相信他们的工作。如果没有:检查堆栈跟踪。

如果使用基于接口的代理(默认),Spring使用类在内存中动态创建代理。没有与该类关联的
.class
文件

当使用基于类的代理(via)时,Spring会创建类的具体子类。在调试器中,您会注意到它们的名称类似于
YourRealService$$EnhancerByGlib$$…
,但同样,这些类只在内存中生成,不存储在磁盘上


如果您真的想在后台看到AOP,就必须使用编译时编织。太多的工作了。因此,底线是:只要相信他们的工作。如果没有,请检查堆栈跟踪。

非常感谢Tomasz的精彩解释。我相信他们能奏效:)我脑子里还有一个问题。为什么很多人说,在使用AOP时,我们应该考虑内存限制,因为AOP创建子类。这是正确的吗?即使AOP创建类,它也只使用代理类,而不是我们创建的类。@KhalidAnsari:许多动态生成的类(我认为这不适用于通过
Proxy
创建的动态代理)将占用永久空间(而不是堆)。我从来没有遇到过这方面的任何问题,但请记住这一点。非常感谢托马斯的精彩解释。我相信他们能奏效:)我脑子里还有一个问题。为什么很多人说,在使用AOP时,我们应该考虑内存限制,因为AOP创建子类。这是正确的吗?即使AOP创建类,它也只使用代理类,而不是我们创建的类。@KhalidAnsari:许多动态生成的类(我认为这不适用于通过
Proxy
创建的动态代理)将占用永久空间(而不是堆)。我从来没有遇到过这样的问题,但请记住这一点。