Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 932
Khalid Ansari Avatar asked Nov 29 '25 10:11

Khalid Ansari


1 Answers

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.

like image 190
Tomasz Nurkiewicz Avatar answered Dec 02 '25 01:12

Tomasz Nurkiewicz