1. 程式人生 > >導致出現404狀態碼

導致出現404狀態碼

今天干活的時候,由於是一個web應用,想在每次傳送請求和返回響應的時候記錄日誌,也就是代理Controller,想起了之前的spring AOP,於是按照之前的配置配置好了,可是發現每次前端傳送請求都會返回404狀態碼,這我就蒙了,如圖:


而後檢查後臺程式,什麼問題都沒有,但是前端就是請求失敗,鬱悶死我了,後來還是在Google中找到了解決答案,但是也不知其所以然,後來又看了Spring給的官方的文件,但是和網上給的解決方案有差距,果斷兩者試了一下。

廢話不說,直入正題。

Spring 是這樣處理AOP代理的問題的,它有兩套動態代理的實現,一個是JDK方法的實現,一個就是cglib,proxy-target-class就是決定使用哪個實現方式的開關,當該值是false時,使用JDK的實現方式,這也是預設的實現方式,反之則使用cglib的實現方式。當我把該值設定為true時,也就是使用cglib,問題解決,順利跑通。

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

/***************************後記*******************************/

還有一個問題,由於預設是使用JDK實現動態代理,並且我的被代理類也實現了一個介面ApplicationListener,按理說用JDK的方式是來實現代理是沒有問題的,但是從實際結果來看,必須得使用cglib才行,這個問題我一直搞不明白,先記下,留底。