Использование аннотаций в Spring Pointcut - PullRequest
0 голосов
/ 29 ноября 2011

Я использую аннотацию, чтобы указать, что совет должен применяться к методу.

У меня есть два метода в интерфейсе под названием IMaintenanceDAOSupport

@AuditLogging
void insert(M domainobject, IntResponse response, String statementName);

@AuditLogging
int delete(M domainobject, IntResponse response, String statementName);

Как настроить XML для применяемого аспекта?

В настоящее время у меня есть

<aop:config>
  <aop:aspect  ref="auditAOP">
    <aop:pointcut id="im-insert"  
                  expression="within(IMaintenanceDAOSupport)and execution(@annotation(AuditLogging))"/>
    <aop:after method="afterInsertUpdateOrDelete" pointcut-ref="im-insert"/>
  </aop:aspect>
</aop:config>

выдает ошибку компиляции; Видите ли вы ошибку в конфигурации?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2013

@annotation не требует блока execute (). Попробуйте:

within(IMaintenanceDAOSupport) && @annotation(AuditLogging)
0 голосов
/ 29 ноября 2011

Вы должны объединить выражения с точечным вырезанием, используя "&&" вместо "и".

Выражения с точечным вырезом можно объединить с помощью '&&', '||'и '!'.

...