Before learning how to implement Aspect-oriented programming with Spring, we should first learn what Aspect-oriented programming is. The definition of Aspect-oriented programming says it is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. It does so by adding additional behavior to existing code (an advice) without modifying the code itself.
Now, what did we mean by cross-cutting concerns? Let's explore.
In a real-life project, multiple components play their own role. For example, if we take our previous scenario into account, the Student class itself is a component, similarly there could be a faculty component who would evaluate the student based on his/her performance. ...