我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