Я работаю над добавлением аспектов в веб-приложение Spring MVC, и эти аспекты не выполняются. Я пытался свести это к чему-то простому, что явно должно работать, но все равно не получилось. Вот где я сейчас:
// imports...
@Aspect
public class AuthCheckerAspect {
{
System.out.println("initting");
}
@Pointcut("execution(* * *(..))")
public void c() {}
@Before("c")
public void cc(JoinPoint pjp) throws Throwable {
System.out.println("test...");
}
}
Насколько я могу судить, pointcut должен применяться к любому методу в любом классе, управляемом Spring (которых в моем приложении много). Я также добавил следующее в свою конфигурацию Spring:
<aop:aspectj-autoproxy/>
Я установил точку останова на операторе System.out.println() в методе cc(), но он так и не сработал (и да, я уверен, что отладчик подключен; другие точки останова работают правильно). Я подозреваю, что класс AuthCheckerAspect никогда не загружается в контекст Spring, потому что я также устанавливаю точку останова в предложении инициализатора, и это тоже никогда не ловится; когда я делаю то же самое с другими классами, управляемыми Spring, их точки останова всегда срабатывают во время запуска приложения.
Есть ли что-то еще, что мне нужно сделать?
Заранее спасибо.
this.otherMethod()
) или из другого компонента (например,otherBean.otherMethod()
)? - person Ralph   schedule 17.11.2011