以下对实现分类树时遇见的bug进行具体说明:
1、XXXController EnhancerBySpringCGLIB$$c8ca0a15 cannot be cast to XXX……
(1)描述:
近些天在用若依调整代码,添加分类树时,报了一个这样的错误:com.blhq.wjs.controller.NodeController EnhancerBySpringCGLIB c8ca0a15 cannot be cast tocom.blhq.wjs.service.impl.ClassServiceImpl。
以上为具体位置所在.
(2)原因:
原有的文件中,存在@DataScope,而我本身用不到,所以删除之后,原方法上不存在切面,此时调用 [SpringUtils.getAopProxy(this)]时,取得的不是Service的切面,而是Controller的切面。
此处的修改意见,当不使用切面时,[SpringUtils.getAopProxy(this)]也不需要使用,直接使用this就可以。
改为:List<Class> classes =this.selectClassList(class1);即可
2、Error adding module to project: null
这个bug,记不太清楚了,当时是因为:创建maven模块时选择的sdk版本过高(选用了openjdk19)。选用jdk1.8解决问题。
3、无法自动装配。找不到'xxxMapper’类型的 Bean。
解决方案:在MarkclassMapper中,最前面加入@Mapper注解即可
4、Failed to instantiate: Factory method 'sqlSessionFactory' threw exception; TypeException: The alias 'TreeSelect' is already mapped to the value 'com.blhq.wjs.domain.TreeSelect'.
(1)原因:
依据代码,MyBatis 在实例化 sqlSessionFactory 时,TreeSelect 已经映射到了com.blhq.wjs.domain.TreeSelect,而非当前文件所在目录,而我在MapperXML中并未指明每一个TreeSelect的alias,所以出错。
(2)方案:
如果提示这个,请把我们刚才定义的TreeSelect类,重构一下,改个名就行。