<aop:aspectj-autoproxy proxy-target-class="true"/>
配置proxy-target-class="true"则强制使用了CGLIB生成代理,mybatis的mapper没有默认构造方法,会报错:
Could not generate CGLIB subclass of class [class com.sun.proxy.$Proxy22]: Common causes of this problem include using a final class or a non-visible classnested exception is java.lang.IllegalArgumentException: Cannot subclass final class class com.sun.proxy.$Proxy22
修改成
<aop:aspectj-autoproxy/>
这个的意思我原本以为是完全不使用cglib的代理,现在发现应该是spring会自动在JDK动态代理和CGLIB之间转换。
实现cglib动态代理需要4个jar包:asm-2.2.3,
asm-commons-2.2.3,
asm-util-2.2.3,
cglib-nodep-2.1_3
和之前的05 08一样, 右键 工程: 属性-》链接-》输入-》额外依赖项直接输入库的名字就行了。
然后你可能需要包含新的库查找路径: 属性-》链接-》通用 -》额外库目录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)