Currently I am reading some documentation about Quarkus in which they are constantly attacking a lot about DynamicProxy mechanism of Spring for Dependency Injection.
I am quoting
"Spring creates an implementation proxy for the interface and any additional method declarations a developer adds to the interface. The definition of additional methods within the interface, including the method name, return type, and method arguments, are extremely important: They influence the implementation of the proxy that dynamically creates. This runtime proxying contributes to longer startup times and increased memory usage".
I don't know Spring AOT with Spring Boot 3.x / Spring 6.x does anything against it, but if I remember correctly from old times, it was possible to do Dependency Injection in Spring with AspectJ Load Time Weaving.
Only documentations I can find about it at the moment, are using aspectj , Using AspectJ to dependency inject domain objects with Spring and aop, specially the second link is really old, from Spring 3.0.0-RC3 and the first link contains really similar information.
So my question is, 'is still possible with Spring Boot 3.x / Spring 6.x do dependency injection with the help of the AspectJ'?
I do the Bean configurations with '@Configuration' and '@Bean' annotation in Spring Boot so I never used the @Configurable and of course if I am looking for startup time improvement for Spring Boot application, Load Time Weaving is no go but if I can convert it to compile time weaving, I think I can close the performance gap to Quarkus little bit more while Spring's DynamicProxy / CGlib proxying will always happen in runtime and if Spring didn't change anything in the AOT for it, it will always be disadvantage for Spring.
So are these technics still usable in Spring Boot 3.x / Spring 6.x or those are obsolete.