问题
Just for the sake of learning and understanding proxies, I wanted to see the proxy class generated by Spring AOP. It was not present in the classes folder generated by Eclipse.
Can somebody tell me its location?
回答1:
If you are using interface-based proxies (default), Spring uses Proxy class to create proxy dynamically and in-memory. There is no .class
file associated with that class.
When using class-based proxies (via cglib) Spring creates concrete subclasses of your classes. In the debugger you'll notice they are named something like YourRealService$$EnhancerByCGLIB$$...
But again, these classes are only generated in-memory and not stored on disk.
If you really want to see AOP under the hood, you will have to use aspectj and compile-time weaving. Way too much work. So the bottom line is: just trust they work. And if they don't: examine stack traces.
来源:https://stackoverflow.com/questions/11520330/location-of-the-proxy-class-generated-by-spring-aop