AOP在spring的controller里无效的问题

发布于 2021-11-21 01:03:14 字数 173 浏览 830 评论 12

请问spring的controller里怎么使用aop,我自定义了注解和Aspect,注解在controller里面的方法上AOP无效,用在controller以外的类的方法上都有效,pointcut的表达式绝对正确的。网上找了一天说controller不支持AOP,也有的说Spring2.5以后有支持,烦恼啊。请问应该怎么弄,谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

反目相谮 2021-11-24 17:52:27

哥们儿,你还在吗?这个问题我也遇到了,解决办法是:

<aop:pointcut expression="execution(* org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(..))" id="baseaop1"/>

因为Controller已被spring容器内部代理了. 需要对org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter进行Aop才能起作用。

在这篇文章看到的答案,http://blog.csdn.net/lxf9601/article/details/5925211

琴流音 2021-11-24 17:52:25

我也搞了好久,听到你们说我终于记起了,所有servlet.xml可以访问所有contextListener,contextListener不能访问servlet.xml,servlet.xml之间也不可以访问。

疾风者 2021-11-24 17:51:15

什么意思啊,我的现在也是这样,但是我看别人写的根本就没有struts的配置文件。就只用啦@controller可以的。但是为什么我的就不行呢。我的是可以找到大的action但是里面的方法找不到。如我有个DeptAction,里面有个addDept()方法,但是我请求测试发现,deptAction的构造函数得到调用啦,但是返回的错误是找不到addDept这个方法

醉生梦死 2021-11-24 17:49:32

我现在用的是3.0.5,同样遇到这个问题。我发现如果不写在servlet.xml里面,可以拦截方法,但是无法拦截异常。

风柔一江水 2021-11-24 17:27:02

我把AOP配置写到servlet.xml ,启动就报错了,这方法是不有问题?配置如下:

 <aop:aspectj-autoproxy />
<bean id="aopTest" class="com.travelsky.pss.abframe.aop.AopTest">
 </bean>

报错如下

2011-07-13 16:01:45,468][ERROR][org.springframework.web.context.ContextLoader][Line:220] Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 55 in XML document from ServletContext resource [/WEB-INF/config/servletContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: The prefix "aop" for element "aop:aspectj-autoproxy" is not bound.

睫毛上残留的泪 2021-11-24 16:33:56

context和servlet里都要用Aop的话,都要加????

醉生梦死 2021-11-24 15:23:39

楼主,我也遇到一样问题,能说明一下吗? 我的邮箱dingyb2005@gmail.com,多谢了

绝影如岚 2021-11-24 08:32:43

楼主,我也遇到一样问题,能说明一下吗? 我的邮箱dingyb2005@gmail.com,多谢了

乞讨 2021-11-23 14:18:14

今天我也碰到了同样的问题!解决!!!~~~

无人问我粥可暖 2021-11-21 18:13:28

泡了一天的spring官方论坛终于解决了。 Controller的AOP需要写在servlet.xml里

北笙凉宸 2021-11-21 16:18:47

没人会吗,还是我描述的有问题?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文