当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException
生活随笔
收集整理的这篇文章主要介绍了
SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
学习springAop,尝试对struts2的Action层使用Aop切面实现日志的打印。
执行出现报错:java.lang.NoSuchMethodException.
查阅资料解决办法:spring中配置<aop:config proxy-target-class="true"/> ,强制使用cglib代理。
分析问题原因:
springAop实现默认使用java动态代理技术(基于接口的代理),当springbean没有实现接口时使用cglib代理(基于继承代理)。
sturts2中Action我这里使用的是继承于ActionSupport,而ActionSupport有实现Action,Validateable等接口。故springAop会使用
动态代理生成Action的代理类,而Action中的接口中自然没有声名业务方法的接口,所以会报找不到方法的错误。修改spring配置
强制使用cglib代理,基于继承生成Action的代理方法,是可以访问到Action中任何公有方法。
转载于:https://www.cnblogs.com/xiejinjie/p/9224692.html
总结
以上是生活随笔为你收集整理的SpringAop对struts2的Action设置切面织入时报错java.lang.NoSuchMethodException的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: IDEA使用Maven打包时如何去掉测试
- 下一篇: IDEA创建多个模块MavenSprin