Аспект — это основная конструкция Aspect-Oriented Programming (AOP). Он инкапсулирует переиспользуемое поведение, которое влияет на множество классов в приложении, способствуя модульности и разделению ответственности.
Модуль логирования — распространённый пример аспекта. Вместо того чтобы добавлять код логирования в каждый класс, ты можешь определить один аспект, который автоматически логирует вызовы методов, исключения и метрики производительности по всему приложению.
Аспекты реализуются путём аннотирования класса аннотацией @Aspect:
@Aspect
@Component
public class LoggingAspect {
// Реализация аспекта
}
Aspect в Spring AOP должен быть аннотирован с @Aspect и @Component, чтобы работать правильно, так как обе аннотации требуются для того, чтобы Spring распознал и обработал Aspect.
Новый — ещё не проверен сообществом
Вы