用了一个@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://cache.yisu.com/upload/information/20200309/33/64978.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
图片中红框处返回值为null,原因未知。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。