我AMS使用Spring 2.5.6,1.5.3 ASM,aspectjrt/aspectjweaver 1.6.1,CGLIB 2.1_3 在我的基於Web的Spring應用程序我有以下類:的Spring AOP(寬)不執行
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 ==================");
}
}
我有一個Controller:uk.co.txttools.web.controller.compose.PreviewMessageController which has
onSubmit()method, which get called from web page. I have separate
applicationContext.xml`文件。
我springapp-servlet.xml
(在web.xml文件中使用org.springframework.web.servlet.DispatcherServlet)文件是這樣的:
<?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" />
.
.
低於同一XML文件PreviewMessageController
得到初始化,這意味着我的控制器和看點生活是相同的容器。
我在運行應用程序時沒有遇到任何異常,但我的方面類LoggingAspect
永遠不會被調用。 我不確定那是什麼錯過或我做錯了。 請幫助我..
感謝
不,該插件不需要編織Spring AOP方面,只有當你想使用完整的AspectJ加載時編織或編譯時編織。你所做的就是使用CTW。真正的修復將會是修復你的Spring AOP配置。 – kriegaex