I AMS przy użyciu Wiosna 2.5.6 ASM 1.5.3, aspectjrt/aspectjweaver 1.6.1 cglib 2.1_3 W mojej aplikacji internetowej opartej na wiosennym Mam następujące klasy:Wiosną AOP (Aspect) niewykonanie
package uk.co.txttools.aspects;
@Aspect
public class LoggingAspect {
@Before("execution(* uk.co.txttools.web.controller.compose.PreviewMessageController.set*(..))")
public void setLoggingAdvice(){
System.out.println("********************************* Advice run..... set mothod called....");
}
@AfterThrowing("execution(* uk.co.txttools.web.controller.compose.PreviewMessageController.onSubmit(..) throws java.lang.Exception)")
public void hadleException(){
System.out.println("================= PreviewMessageController =========== ON SUBMIT Exception Throwen ==================");
}
@Before("execution(* uk.co.txttools.web.controller.compose.PreviewMessageController.onSubmit(..) throws java.lang.Exception)")
public void OnSubmitAspect(){
System.out.println("================= PreviewMessageController =========== ON SUBMIT CALLED ==================");
}
}
Mam jeden plik Controller:uk.co.txttools.web.controller.compose.PreviewMessageController which has
onSubmit() method, which get called from web page. I have separate
applicationContext.xml.
Moja springapp-servlet.xml
(który jest używany w pliku web.xml z org.springframework.web.servlet.DispatcherServlet) plik wygląda tak:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
<aop:aspectj-autoproxy proxy-target-class="true" />
<bean id="loggingAspect" class="uk.co.txttools.aspects.LoggingAspect" />
.
.
Poniżej w samym pliku xml PreviewMessageController
dostać zainicjować co oznacza, moim kontrolera a Aspect live to ten sam kontener.
Nie otrzymuję żadnego wyjątku podczas uruchamiania aplikacji, ale moja klasa aspektu LoggingAspect
nigdy nie zostanie wywołana. Nie jestem pewien, co jest brakujące lub robię źle. Proszę mi pomóc ..
Dzięki
Nie, ta wtyczka nie jest potrzebna do tkania Wiosenne aspekty AOP, tylko jeśli chcesz używać pełnego tasowania czasu działania AspektJ lub tasowania kompilacji. To co zrobiłeś, to użyć CTW. Naprawdę naprawiłbym twoją konfigurację Spring AOP. – kriegaex