Spring Start Here 4. Аспекты. Flashcards

1
Q

Аспект

A

Аспекты — это способ, которым фреймворк перехватывает вызов метода и может изменить его выполнение.
Данная технология позволяет извлечь часть логики, принадлежащей методу.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Целевой объект
(target object)

A

Бин, в котором объявляется прерываемый аспектом метод.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Структура Аспекта

A

Точка соединения (Join Points): Событие, запускающее выполнение аспекта.
Это места в программе, в которых может быть применён аспект.
Например, это может быть вызов метода, изменение поля или исключение.

Совет (Advice):
Это код, который выполняется в определённый момент жизненного цикла программы.
Определяет когда приложение должно выполнять логику аспекта (например, перед, после или вместо вызова метода).

Точка среза (Pointcut):
Выполнение каких методов должен перехватывать фреймворк и реализовывать аспект.
В каких именно точках соединения должен быть применён аспект.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Виды Advice’ов

A

@Before:
выполняется перед выполнением метода.

@After:
выполняется после завершения метода (независимо от того, завершился он успешно или с ошибкой).

@AfterReturning:
выполняется только в случае успешного завершения метода.

@AfterThrowing:
выполняется, если метод выбрасывает исключение.

@Around:
оборачивает выполнение метода, давая возможность как изменять поведение метода, так и выполнять действия до и после его выполнения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Вплетение (weaving)

A

Это процесс внедрения аспектов в целевой код, и в контексте Spring это обычно происходит на этапе выполнения через создание прокси-объектов, которые перехватывают вызовы методов целевых объектов.
Это позволяет добавлять дополнительное поведение (например, логирование или управление транзакциями) без необходимости изменять сам код целевых объектов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly