2014-02-13 5 views
0

Я изучаю Spring AOP, следуя руководству.«Выполнение» весной AOP

В главе Spring AOP capabilities and goals, он сказал, что:

Spring AOP поддерживает только выполнение метода (1) точек соединения

Но в главе aop-pointcuts-designators, он поддерживает следующие Pointcut выражения:

execution(2) 
within 
... 

Какое значение имеет смысл двух маркеров выполнения (1) и (2)?

ответ

0

Что означает эта цитата, так это то, что Spring может только перехватывать вызовы метода. Aspect oriented programming обычно имеет гораздо более широкий охват. Точки соединения АОП могут быть любыми фрагментами кода, вызовом метода, исключенными исключениями, исключенными исключениями, присваиванием переменной и т. Д. Однако АОС Spring ограничена языком Java и его функциями. Таким образом, он может обрабатывать точки соединения вызова метода. Продолжайте читать, как Spring использует функции AOP с прокси.

Вышеприведенная цитата полностью не связана с типом pointcut.

execution (2) является pointcut designator.

исполнения - для согласования выполнения метода точек соединения, это первичных срез точек целеуказатель вы будете использовать при работе с Spring AOP

+0

В факт, что я знаю, что означает выполнение (1), есть другие типы точек соединения, такие как 'field' и т. д., Spring просто поддерживают« выполнение метода ». Но что меня смутило - это выполнение (2) в выражении pointcut, что это значит? – hguser

+0

@hguser См. Мое редактирование. Это то, что вам нужно? –

+0

Указатель pointcut содержит «исполнение, внутри, это ....», так как Spring поддерживает только «исполнение», тогда я не уверен, имеет ли смысл «исполнение» обозначение, и делает «выполнение» по сравнению с «внутри», это ... 'будет выглядеть так:' внутри, это ... 'не используются для выполнения метода (но на самом деле они все еще поддерживают выполнение метода, не так ли?) – hguser

Смежные вопросы