解耦spring兼容修改为spi方式加载
This commit is contained in:
parent
8376d1b19a
commit
b2b10eb77a
@ -15,6 +15,8 @@
|
||||
*/
|
||||
package com.baomidou.mybatisplus.extension.compatible;
|
||||
|
||||
import java.util.ServiceLoader;
|
||||
|
||||
/**
|
||||
* 兼容处理辅助类
|
||||
*/
|
||||
@ -23,12 +25,10 @@ public class CompatibleHelper {
|
||||
private static CompatibleSet COMPATIBLE_SET;
|
||||
|
||||
public static CompatibleSet getCompatibleSet() {
|
||||
if (null == COMPATIBLE_SET) {
|
||||
ServiceLoader<CompatibleSet> loader = ServiceLoader.load(CompatibleSet.class);
|
||||
COMPATIBLE_SET = loader.iterator().next();
|
||||
}
|
||||
return COMPATIBLE_SET;
|
||||
}
|
||||
|
||||
public static void setCompatibleSet(CompatibleSet compatibleSet) {
|
||||
if (null == COMPATIBLE_SET) {
|
||||
COMPATIBLE_SET = compatibleSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
dependencies {
|
||||
implementation project(":mybatis-plus-extension")
|
||||
implementation project(":mybatis-plus-spring")
|
||||
implementation "${lib.velocity}"
|
||||
implementation "${lib.freemarker}"
|
||||
|
@ -0,0 +1 @@
|
||||
com.baomidou.mybatisplus.extension.compatible.SpringCompatibleSet
|
@ -8,8 +8,6 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.compatible.CompatibleHelper;
|
||||
import com.baomidou.mybatisplus.extension.compatible.SpringCompatibleSet;
|
||||
import org.apache.ibatis.io.Resources;
|
||||
import org.apache.ibatis.logging.slf4j.Slf4jImpl;
|
||||
import org.apache.ibatis.mapping.Environment;
|
||||
@ -89,9 +87,6 @@ public abstract class BaseDbTest<T> extends TypeReference<T> {
|
||||
interceptors.forEach(configuration::addInterceptor);
|
||||
}
|
||||
sqlSessionFactory = builder.build(configuration);
|
||||
|
||||
// 注入 spring 兼容配置
|
||||
CompatibleHelper.setCompatibleSet(new SpringCompatibleSet());
|
||||
}
|
||||
|
||||
private DataSource dataSource() {
|
||||
|
@ -24,8 +24,6 @@ import com.baomidou.mybatisplus.core.handlers.PostInitTableInfoHandler;
|
||||
import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
|
||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
|
||||
import com.baomidou.mybatisplus.extension.compatible.CompatibleHelper;
|
||||
import com.baomidou.mybatisplus.extension.compatible.SpringCompatibleSet;
|
||||
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.mapping.DatabaseIdProvider;
|
||||
@ -43,11 +41,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanWrapper;
|
||||
import org.springframework.beans.BeanWrapperImpl;
|
||||
import org.springframework.beans.factory.BeanFactory;
|
||||
import org.springframework.beans.factory.BeanFactoryAware;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.ListableBeanFactory;
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.beans.factory.*;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
@ -76,11 +70,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
@ -150,9 +140,6 @@ public class MybatisPlusAutoConfiguration implements InitializingBean {
|
||||
this.sqlSessionFactoryBeanCustomizers = sqlSessionFactoryBeanCustomizers.getIfAvailable();
|
||||
this.mybatisPlusPropertiesCustomizers = mybatisPlusPropertiesCustomizerProvider.getIfAvailable();
|
||||
this.applicationContext = applicationContext;
|
||||
|
||||
// 注入兼容配置
|
||||
CompatibleHelper.setCompatibleSet(new SpringCompatibleSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user