In Spring AOP, we use several annotations to define aspects, joinpoints, advice, and pointcuts. Here are some examples of these annotations:
@Aspect — This annotation defines a class as an aspect, which is the modularization of a concern. The aspect contains advice and pointcuts.
@Joinpoint — A joinpoint is a point in the program’s execution where an aspect can be applied. In Spring AOP, joinpoints are method invocations.
@Advice — Advice is the action that an aspect takes at a particular joinpoint. There are several types of advice, such as “before”, “after”, “around”, etc.
@Pointcut — A pointcut is a set of joinpoints where an aspect should be applied. It defines a pattern that matches the methods that the aspect should intercept. Pointcuts can be defined using expressions or annotations.