AspectJ is a library that implements the idea of Aspect Oriented Programming (AOP).
Home page: https://www.eclipse.org/aspectj/
To start learning about AspectJ, you should read the introductory article about aspect-oriented programming first. Then, dive into AspectJ through the following Huong Dan Java tutorials:
An introduction to the @Before annotation in AspectJ and how to use it.
In this tutorial, I introduce you to AspectJ’s compile-time weaving to insert code at compile time.