Компоненты аспектов

После того, как мы познакомились с основной идеей аспектов, настало время погрузиться поглубже и понять, какие именно инструменты предоставляет нам Spring AOP для работы с аспектами. Основные из них — это Advices, Introductions и Around-Advices. Подсветим каждую из этих компонент. 


1. Advices

Advice – это действие, которое выполняется аспектом в определенное время (например, перед или после выполнения метода). В Spring AOP существует несколько типов Advices, включая:

• Before Advice: Выполняется до целевого метода. Примером может служить логирование или проверка прав доступа.

• After Returning Advice: Выполняется после того, как целевой метод успешно завершил свою работу (без исключений). Можно использовать для дополнительной обработки результата метода.

• After Throwing Advice: Выполняется, если во время выполнения метода возникло исключение.

• After (or After Finally) Advice: Выполняется в любом случае после вызова метода, независимо от того, было ли исключение или нет. Все эти advices позволяют нам вмешиваться в жизненный цикл вызова метода на разных этапах.


2. Introductions

Introduction (или “Mixin”) позволяет добавлять новые методы или свойства в существующие бины. Другими словами, с помощью introductions вы можете добавить новую функциональность к уже существующим объектам в вашем приложении без изменения их кода. Это немного похоже на то, как если бы у вас был старый телефон, и вдруг, благодаря волшебной палочке, он получил новую функцию — например, стал поддерживать беспроводное зарядное устройство, хотя до этого такой функции у него не было.


3. Around-Advices

Around-Advice — это, пожалуй, самый мощный тип advice. Он объединяет в себе все остальные типы advices, так как позволяет вам вмешиваться в вызов метода до его выполнения, после него и даже изменять возвращаемое значение или кидать исключение вместо целевого метода. Вернемся к нашему примеру с домом: это как если бы у вас была магическая дверь, через которую все гости должны проходить. Вы можете настроить эту дверь таким образом, чтобы она играла музыку, когда кто-то заходит, давала гостям 10 возможность оставить послание или даже блокировала вход для определенных людей. Around-Advice предоставляет максимальный контроль над тем, как метод будет выполняться, что делает его очень мощным инструментом в арсенале Spring AOP. Теперь, осознав различные компоненты аспектов, вы можете лучше понимать, как и когда использовать каждую из этих функций для достижения максимальной эффективности вашего приложения на Spring