Как я могу объединить @Aspect с @Controller в Spring 3?

Я пытаюсь настроить проект Spring 3 Web MVC, используя @Controller, подход на основе аннотаций.

package my.package

@Controller
@RequestMapping("/admin/*")
public class AdminMultiActionController {

@RequestMapping(value = "admin.htm", method = RequestMethod.GET)
public String showAdminSection() {
    return "admin";
}

Мой сервлет-диспетчер имеет следующие обработчики контроллеров:

<context:component-scan base-package="my.package" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

Веб-приложение работает нормально с предоставленными артефактами maven:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.2.RELEASE</version>
</dependency>

Теперь я хотел добавить @AspectJ AOP. Я получил библиотеки:

<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.9</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.9</version>
</dependency>

, добавленные в мой applicationContext.xml:

<aop:aspectj-autoproxy/>

Обязательно создал соответствующий bean-компонент в applicationContext.xml:

<bean id="securityInterceptor" class="my.package.service.SecurityInterceptor"/>

И начал конкретизировать @Aspect:

package my.package.service

@Aspect
public class SecurityInterceptor {

@Pointcut("execution(* showAdminSection(..))")// the pointcut expression
private void foo() {
    System.out.println("fooo");
}// the pointcut signature

Теперь это где перестало работать. "fooo" никогда не печатается.

Может быть, потому что точечные (орфографические?) объекты должны быть компонентами с пружинным управлением, а мой @Controller в сочетании с DefaultAnnotationHandlerMapping не воспринимается как таковой?

Любая помощь будет оценен. Если я забыл указать какую-либо информацию, спросите. Надеюсь, кто-нибудь сможет мне помочь.

Большое спасибо!

7
задан chzbrgla 21 October 2010 в 19:40
поделиться