Spring AOP предоставляет пять различных типов advice, которые позволяют тебе выполнять сквозную логику в разных точках жизненного цикла метода.
Этот advice выполняется непосредственно перед вызовом метода. Используй аннотацию @Before для реализации этого типа advice. Это полезно для валидации, логирования или проверок безопасности, которые должны произойти до выполнения метода.
Этот advice выполняется после завершения метода, независимо от того, прошёл он успешно или нет. Реализуется с помощью аннотации @After, это эквивалент блока finally. Используй это для операций очистки и управления ресурсами, которые должны выполниться в любом случае.
Этот advice выполняется только после того, как метод завершится успешно (без выброса исключения). Используй аннотацию @AfterReturning, когда тебе нужно обработать возвращаемое значение метода или выполнить действия, зависящие от успешного выполнения.
Этот advice выполняется только когда метод выбрасывает исключение. Реализуется с помощью аннотации @AfterThrowing, это идеально подходит для обработки ошибок, логирования исключений или запуска механизмов восстановления.
Это самый мощный тип advice, так как он выполняется и до, и после вызова метода. Используй аннотацию @Around, чтобы получить полный контроль над выполнением метода — ты можешь изменять аргументы, обрабатывать исключения и контролировать, будет ли метод вообще выполнен. Этот advice оборачивает весь вызов метода.
@Before — Выполняется перед вызовом метода@After — Выполняется после вызова метода (всегда)@AfterReturning — Выполняется после успешного вызова метода@AfterThrowing — Выполняется после возникновения исключения@Around — Выполняется до и после вызова методаАннотация @After выполняется только когда метод завершится успешно без выброса исключения, что делает её подходящей для обработки возвращаемых значений.
Новый — ещё не проверен сообществом
Вы