0

我正在使用spring aop并定义了一些方面。在我的 tomcat 上启用了 Spring LTW。在我的应用程序上下文中:

<context:load-time-weaver/>
<aop:aspectj-autoproxy proxy-target-class="false"/>

方面也工作得很好!但是目标类被代理了!导致 ClassCastException: can not convert $Proxy... 请注意,我的目标类没有被代理!

4

1 回答 1

0

如果你使用 AspectJ LTW,你只需要标签

<context:load-time-weaver/> 

在你的 Spring 上下文文件中。所以你可以删除,

<aop:aspectj-autoproxy proxy-target-class="false"/>

如果目标类被代理是因为 AspectJ 的 LTW 配置不正确,因此不是 AspectJ 正在处理您的建议,而是 Spring 正在这样做。出于这个原因,您会看到基于代理的目标类。

检查此链接,

http://static.springsource.org/spring/docs/3.2.2.RELEASE/spring-framework-reference/html/aop.html#aop-aj-ltw

http://static.springsource.org/spring/docs/3.2.2.RELEASE/spring-framework-reference/html/aop.html#aop-aj-ltw-environments

于 2013-06-09T18:17:19.730 回答