shiro可以開啟許可權註解功能
id="lifecyclebeanpostprocessor"
class="org.apache.shiro.spring.lifecyclebeanpostprocessor" />
class="org.springframework.aop.framework.autoproxy.defaultadvisorautoproxycreator"
depends-on="lifecyclebeanpostprocessor"/>
class="org.apache.shiro.spring.security.interceptor.authorizationattributesourceadvisor">
name="securitymanager"
ref="securitymanager"/>
bean>
但是同時,也配置了
那麼問題就來了!
假如shiro 配置檔案先執行,那麼這時候 defaultadvisorautoproxycreator會生成乙個jdk**(一般沒有介面),然後再執行spring配置檔案,獲取到bean其實是經過jdk**的結果,並且jdk**本身帶有介面,生成的就是**的**,即二次**,
那麼接下來,用到的aop切面的類中,都將有問題!!
會報must be of type [***], but was actually of type [com.sun.proxy.$proxy47]
錯誤!
解決方法是給defaultadvisorautoproxycreator 注入proxytargetclass屬性為true
="lifecyclebeanpostprocessor">
name="proxytargetclass" value="true"/>
二次**的問題 其實在springmvc和mvc就有所體現了!
這問題真是找了好久,最初沒想到二次**的問題,調spring原始碼好久也沒發現**不對 –! 特此記錄下來!
結合php PHP與jQuery結合的功能
主要問題難點在於 獲取後台填充資料沒問題,但是當後台資料已失效,前台資料已獲取後,這種歷史遺留資料處理比較棘手,原來的資料填充和釋放只針對後台所有的資料,沒有把版本迭代後的狀態考慮進去,這裡的主要問題就是當使用者不重新整理頁面,還要解決後台傳輸的無效資料和有效資料的區分,不會在前台展現有效資料把無效...
Google Colaboratory的配置和使用
最近一直在煉丹,之前老師租的伺服器上千塊錢乙個月,顯示卡也很一般,google完全免費的colaboratory,通常給到的gpu資源是tesla t4,tpu也是能免費用的,8個核,相當於8個gpu分布式訓練,快的飛起,就是用起來程式上很麻煩。開通colab pro每月就9.9刀,同時可以多開,拿...
Rabbitmq spring boot的配置引數
spring.rabbitmq.addresses 以逗號分隔的客戶端應連線的位址列表 spring.rabbitmq.cache.channel.checkout timeout 如果已達到快取大小,則等待獲取通道的持續時間 spring.rabbitmq.cache.channel.size 要...