It is proxies that realize AOP in Spring and allow the application of crosscutting functionalities. We will see the application of proxies both in the classic version of Spring, and with the support of AspectJ with annotations and XML Schema. We will also see the possible matching of configuration to adapt proxies to our demands, and use their advanced features.
Proxy is a structural design pattern that is a part of the 23 design patterns of the GoF (Gang of Four) composed by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
The idea put into practice by Proxy is to wrap an object and intercept all the calls made to it and take its place, so that the calling object has the feeling of interacting with the object rather than the proxy.
Since a proxy intercepts all the calls to the object, it can also decide to call some other application logic before making a call to the object, or to execute some application logic before giving back the object's answer, or it can even not...