Aspect-oriented programming (AOP) is an approach to programming that allows global properties of a program to determine how it is compiled into an executable program.
AOP can be used with object-oriented programming ( OOP ).
An aspect is a subprogram that is associated with a specific property of a program.
https://www.geeksforgeeks.org/aspect-oriented-programming-and-aop-in-spring-framework/