Search code examples
javaspringproxyaopgenerated

Location of the proxy class generated by Spring AOP


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?


Solution

  • 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 ) 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 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.