@Controller, ek açıklama tabanlı bir yaklaşım kullanarak bir Spring 3 Web MVC projesi kurmaya çalışıyorum.@ İlkbaharda @Controller ile @Aspect'i nasıl birleştirebilirim?
package my.package
@Controller
@RequestMapping("/admin/*")
public class AdminMultiActionController {
@RequestMapping(value = "admin.htm", method = RequestMethod.GET)
public String showAdminSection() {
return "admin";
}
Benim memuru-servlet aşağıdaki Kontrolör işleyicileri vardır: Webapp verilen maven eserler ile iyi çalışıyor
<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" />
:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.2.RELEASE</version>
</dependency>
Şimdi @AspectJ AOP'yi eklemek istedim .
<aop:aspectj-autoproxy/>
yanı applicationContext.xml ilgili fasulye oluşturmak için emin oldum:
<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>
benim applicationContext.xml eklendi: Ben kütüphanelerini var
<bean id="securityInterceptor" class="my.package.service.SecurityInterceptor"/>
Ve başladı
package my.package.service
@Aspect
public class SecurityInterceptor {
@Pointcut("execution(* showAdminSection(..))")// the pointcut expression
private void foo() {
System.out.println("fooo");
}// the pointcut signature
: @Aspect ortaya koymasıyla
Şimdi bu çalışmayı durdurdu. "fooo" asla yazdırılmaz.
Köşeli (yazım nesnesi) nesneler, yay yönlendirmeli çekirdekler olmalı ve DefaultAnnotationHandlerMapping ile birlikte @Controller, bu şekilde algılanmıyor olabilir mi?
Herhangi bir yardım için teşekkür ederiz. Herhangi bir bilgiyi eklemeyi unutursam, lütfen sorun. Birisi bana burada yardımcı olabilir umarım.
Çok teşekkürler!
Nokta 3 bit benim için eksik olan, teşekkürler :) – Custard