@Repository註解會導致spring boot生成一個動態代理

用了一個@Repository註解,本意是避免了idea開發工具提示接口 unused,但是導致了一個後果,spring boot自動把該接口包裝成了動態代理類,裏面纔是mybatis生成的動態代理類。
項目框架內用到了hdl = Proxy.getInvocationHandler(this.baseMapper); 來獲取真實的DAO層接口,導致了獲取不到,取到的是Jdk的動態代理類

下面是basemapper的代理實現類。
com.baomidou.mybatisplus.core.override.PageMapperProxy@73d0f,
它的InvocationHandler是JdkDynamicAopProxy類,但是調用getinvocationHandler方法會返回null,因爲取不到System.getSecurityManager()
![](https://s1.51cto.com/images/blog/201904/04/b164e60c24a1c7ace65601ba8e25ae5e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

圖片中紅框處返回值爲null,原因未知。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章