只是为了学习和理解代理,我想看看Spring AOP生成的代理类。它不存在于 Eclipse 生成的类文件夹中。
有人可以告诉我它的位置吗?
如果您使用基于接口的代理(默认),Spring 使用Proxy http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Proxy.html类动态地在内存中创建代理。没有.class
与该类关联的文件。
当使用基于类的代理时(通过cglib /questions/tagged/cglib) Spring 创建类的具体子类。在调试器中,您会注意到它们的名称类似于YourRealService$$EnhancerByCGLIB$$...
但同样,这些类仅在内存中生成,而不存储在磁盘上。
如果你真的想了解 AOP 的原理,你将不得不使用aspectj /questions/tagged/aspectj和编译时编织。工作量太大了。所以底线是:相信它们有效。如果不这样做:检查堆栈跟踪。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)