当前使用版本(必须填写清楚,否则不予处理)
3.3.1
该问题是怎么引起的?(最新版上已修复的会直接close掉)
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
scanClasses(this.typeHandlersPackage, TypeHandler.class).stream().filter(clazz -> !clazz.isAnonymousClass())
.filter(clazz -> !clazz.isInterface()).filter(clazz -> !Modifier.isAbstract(clazz.getModifiers()))
.filter(clazz -> ClassUtils.getConstructorIfAvailable(clazz) != null)
.forEach(targetConfiguration.getTypeHandlerRegistry()::register);
第537行: .filter(clazz -> ClassUtils.getConstructorIfAvailable(clazz) != null) 如下自定义泛型类型处理器将无法加载,临时解决方案是加一个无参构造函数。
//GenericTypeHandler.java
public class GenericTypeHandler<E extends MyObject> extends BaseTypeHandler<E> {
private Class<E> type;
public GenericTypeHandler(Class<E> type) {
if (type == null) throw new IllegalArgumentException("Type argument cannot be null");
this.type = type;
}
...
重现步骤
com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean
报错信息
Comment From: nieqiurong
https://github.com/baomidou/mybatis-plus/commit/d76477744c77ebb7d58b743e15987060e777f8e3
Comment From: nieqiurong
用3.3.2.1-SNAPSHOT试试,使用方式参考https://mp.baomidou.com/guide/install.html#snapshot