2016-08-15 6 views
0

Я пытаюсь написать точечное сокращение для всех методов void классов, которые аннотируются @Service.Как написать pointcut для всех методов класса, аннотированных с помощью @Service и возвращающего типа void

Сначала я попытался создать два отдельных точечных разреза, а затем присоединиться к ним на консультациях, но даже это не сработало, поскольку я думаю, что не знаю правильного формата декларации об объявлении точки пустоты.

я имел следующее:

@Pointcut("execution(void * *(..))") 
    public void voidMethodPointcut() {} 

Но это бросает искаженное выражение Exception среза точек.

Я новичок в Spring и буду очень признателен за вашу помощь в этом.

ответ

0

Для методов аннотированный @Service вашего выражения Pointcut должен выглядеть следующим образом:

execution(@your.package.name.Service void *.*(..)) 

И для всех методов классов, аннотированных по @Service - как это:

execution(void (@your.package.name.Service *).*(..)) 
+0

его не методы, которые аннотированы. Его классы. –

+0

Я дал вам обоих, потому что из вашего описания не было ясно. Таким образом, вы можете использовать второе выражение –

+0

Aah my bad. Спасибо, позволь мне попробовать это. –