當前位置:
首頁 >
前端技术
> 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打包时如何去掉测试
- 下一篇: css属性 background