From e62512d99e5434d94ccf1171ba5aa26e840a999e Mon Sep 17 00:00:00 2001 From: StarBlues Date: Wed, 29 Apr 2020 10:52:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E4=B8=AD=E4=B8=8D=E8=83=BD=E5=87=BA=E7=8E=B0=E5=90=8C=E5=90=8D?= =?UTF-8?q?=E7=B1=BB=E7=9A=84bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../starblues/factory/SpringBeanRegister.java | 2 +- .../name/PluginAnnotationBeanNameGenerator.java | 14 ++++++++++++-- .../listener/DefaultInitializerListener.java | 1 - 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java index 7eec53e..70d511a 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/SpringBeanRegister.java @@ -74,7 +74,7 @@ public class SpringBeanRegister { AnnotatedGenericBeanDefinition(aClass); BeanNameGenerator beanNameGenerator = - new PluginAnnotationBeanNameGenerator(suffixName); + new PluginAnnotationBeanNameGenerator(pluginId, suffixName); String beanName = beanNameGenerator.generateBeanName(beanDefinition, applicationContext); if(PluginInfoContainer.existRegisterBeanName((beanName))){ String error = MessageFormat.format("Bean name {0} already exist of {1}", diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/bean/name/PluginAnnotationBeanNameGenerator.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/bean/name/PluginAnnotationBeanNameGenerator.java index 700b06b..dd4a5eb 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/bean/name/PluginAnnotationBeanNameGenerator.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/factory/process/pipe/bean/name/PluginAnnotationBeanNameGenerator.java @@ -14,12 +14,22 @@ import org.springframework.util.StringUtils; */ public class PluginAnnotationBeanNameGenerator extends AnnotationBeanNameGenerator { + /** + * 插件id + */ + private final String pluginId; + /** * 后缀名称 */ private final String suffixName; - public PluginAnnotationBeanNameGenerator(String suffixName) { + public PluginAnnotationBeanNameGenerator(String pluginId, String suffixName) { + if(StringUtils.isEmpty(pluginId)){ + this.pluginId = ""; + } else { + this.pluginId = pluginId + "@"; + } if(StringUtils.isEmpty(suffixName)){ this.suffixName = ""; } else { @@ -35,7 +45,7 @@ public class PluginAnnotationBeanNameGenerator extends AnnotationBeanNameGenerat return beanName; } } - return buildDefaultBeanName(definition, registry) + suffixName; + return pluginId + buildDefaultBeanName(definition, registry) + suffixName; } diff --git a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/DefaultInitializerListener.java b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/DefaultInitializerListener.java index 9c529a4..d7641dc 100644 --- a/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/DefaultInitializerListener.java +++ b/springboot-plugin-framework/src/main/java/com/gitee/starblues/integration/listener/DefaultInitializerListener.java @@ -1,6 +1,5 @@ package com.gitee.starblues.integration.listener; -import com.gitee.starblues.extension.ExtensionFactory; import com.gitee.starblues.extension.ExtensionInitializer; import org.springframework.context.ApplicationContext; -- Gitee From 0e35c3b3ea98cda3126fc858709a75ca5a32fe2a Mon Sep 17 00:00:00 2001 From: StarBlues Date: Wed, 29 Apr 2020 11:00:39 +0800 Subject: [PATCH 2/4] =?UTF-8?q?1.=20=E4=BC=98=E5=8C=96mybatis=E6=89=A9?= =?UTF-8?q?=E5=B1=95=E5=8D=B8=E9=80=BB=E8=BE=91=E3=80=82=202.=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=8F=92=E4=BB=B6=E4=B8=ADMapper=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8F=AF=E6=94=AF=E6=8C=81Mybatis=E8=87=AA=E5=B8=A6=E7=9A=84@M?= =?UTF-8?q?apper=E6=B3=A8=E8=A7=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 1 - .../extension/mybatis/PluginMapperGroup.java | 4 +- .../mybatis/PluginMybatisEntityProcessor.java | 61 +++------ .../mybatis/PluginMybatisMapperProcessor.java | 2 +- .../mybatis/PluginMybatisXmlProcessor.java | 6 +- .../mybatis/utils/MybatisXmlProcess.java | 116 +++++------------- .../utils/PluginMybatisXmlMapperBuilder.java | 48 ++++++-- .../mybatis/utils/TypeAliasRegistryUtils.java | 49 ++++++++ 8 files changed, 143 insertions(+), 144 deletions(-) create mode 100644 springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/TypeAliasRegistryUtils.java diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml index 205f27b..0a1f27a 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml @@ -93,7 +93,6 @@ provided - diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMapperGroup.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMapperGroup.java index 9fe3c53..db06bbb 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMapperGroup.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMapperGroup.java @@ -4,6 +4,7 @@ import com.gitee.starblues.extension.mybatis.annotation.PluginMapper; import com.gitee.starblues.factory.process.pipe.classs.PluginClassGroupExtend; import com.gitee.starblues.realize.BasePlugin; import com.gitee.starblues.utils.AnnotationsUtils; +import org.apache.ibatis.annotations.Mapper; /** * 插件中的Mapper接口分组 @@ -27,7 +28,8 @@ public class PluginMapperGroup implements PluginClassGroupExtend { @Override public boolean filter(Class aClass) { - return AnnotationsUtils.haveAnnotations(aClass, false, PluginMapper.class); + return AnnotationsUtils.haveAnnotations(aClass, false, PluginMapper.class) || + AnnotationsUtils.haveAnnotations(aClass, false, Mapper.class); } @Override diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisEntityProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisEntityProcessor.java index a278a5b..a7d72e1 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisEntityProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisEntityProcessor.java @@ -1,6 +1,7 @@ package com.gitee.starblues.extension.mybatis; import com.gitee.starblues.extension.mybatis.configuration.SpringBootMybatisConfig; +import com.gitee.starblues.extension.mybatis.utils.TypeAliasRegistryUtils; import com.gitee.starblues.factory.PluginRegistryInfo; import com.gitee.starblues.factory.process.pipe.PluginPipeProcessorExtend; import com.gitee.starblues.realize.BasePlugin; @@ -14,7 +15,6 @@ import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.util.StringUtils; -import java.lang.reflect.Field; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -69,8 +69,13 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { mybatisAliasNames = new HashSet<>(); pluginRegistryInfo.addExtension(ALIAS_NAME_KEY, mybatisAliasNames); } - processEntityClass(pluginRegistryInfo, typeAliasRegistry, mybatisAliasNames); - processAliasMapping(pluginRegistryInfo, typeAliasRegistry, mybatisAliasNames); + Map> typeAliases = TypeAliasRegistryUtils.getTypeAliases(typeAliasRegistry); + if(typeAliases == null){ + LOG.warn("Not found mybatis typeAliases Map"); + return; + } + processEntityClass(pluginRegistryInfo, typeAliases, mybatisAliasNames); + processAliasMapping(pluginRegistryInfo, typeAliases, mybatisAliasNames); } private TypeAliasRegistry getTypeAliasRegistry() { @@ -93,10 +98,10 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { if(typeAliasRegistry == null){ return; } + Map> typeAliases = TypeAliasRegistryUtils.getTypeAliases(typeAliasRegistry); Set mybatisAliasNames = pluginRegistryInfo.getExtension(ALIAS_NAME_KEY); if(mybatisAliasNames != null && !mybatisAliasNames.isEmpty()){ for (String mybatisAliasName : mybatisAliasNames) { - Map> typeAliases = getTypeAliases(typeAliasRegistry); typeAliases.remove(mybatisAliasName); } } @@ -106,18 +111,16 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { /** * 处理别名的实体类 * @param pluginRegistryInfo 注册的插件信息 - * @param typeAliasRegistry 别名注册器 + * @param typeAliases mybatis 中内置的别名 Map集合 + * @param mybatisAliasNames 插件中别名存储集合, 用于卸载时使用 */ private void processEntityClass(PluginRegistryInfo pluginRegistryInfo, - TypeAliasRegistry typeAliasRegistry, + Map> typeAliases, Set mybatisAliasNames){ List> groupClasses = pluginRegistryInfo.getGroupClasses(PluginEntityAliasesGroup.KEY); if(groupClasses == null || groupClasses.isEmpty()){ return; } - if(typeAliasRegistry == null){ - return; - } for (Class groupClass : groupClasses) { if(groupClass == null){ continue; @@ -130,7 +133,7 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { if(StringUtils.isEmpty(aliasName)){ continue; } - registerAlias(typeAliasRegistry, aliasName, groupClass); + registerAlias(typeAliases, aliasName, groupClass); mybatisAliasNames.add(aliasName); } } @@ -138,10 +141,11 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { /** * 注册自定义配置的 aliasMapping 的别名 * @param pluginRegistryInfo 注册的插件信息 - * @param typeAliasRegistry 别名注册器 + * @param typeAliases mybatis 中内置的别名 Map集合 + * @param mybatisAliasNames 插件中别名存储集合, 用于卸载时使用 */ private void processAliasMapping(PluginRegistryInfo pluginRegistryInfo, - TypeAliasRegistry typeAliasRegistry, + Map> typeAliases, Set mybatisAliasNames){ BasePlugin basePlugin = pluginRegistryInfo.getBasePlugin(); if(basePlugin instanceof SpringBootMybatisConfig){ @@ -151,7 +155,7 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { return; } aliasMapping.forEach((k, v)->{ - registerAlias(typeAliasRegistry, k, v); + registerAlias(typeAliases, k, v); mybatisAliasNames.add(k); }); } @@ -160,46 +164,19 @@ public class PluginMybatisEntityProcessor implements PluginPipeProcessorExtend { /** * 注册别名。 - * @param typeAliasRegistry 别名注册器 + * @param typeAliases mybatis 中内置的别名 Map集合 * @param alias 别名名称 * @param value 别名对应的class类 */ - private void registerAlias(TypeAliasRegistry typeAliasRegistry, + private void registerAlias(Map> typeAliases, String alias, Class value){ if(StringUtils.isEmpty(alias)){ return; } - Map> typeAliases = getTypeAliases(typeAliasRegistry); typeAliases.put(alias, value); } - /** - * - * 通过反射获取别名注册器 TypeAliasRegistry 中存储别名的 typeAliases Map集合。 - * @param typeAliasRegistry 别名注册器 - * @return typeAliases Map集合。 - */ - private Map> getTypeAliases(TypeAliasRegistry typeAliasRegistry) { - if(typeAliasRegistry == null){ - return null; - } - try { - Field field = typeAliasRegistry.getClass().getDeclaredField("typeAliases"); - //设置对象的访问权限,保证对private的属性的访问 - field.setAccessible(true); - Object fieldObject = field.get(typeAliasRegistry); - if(fieldObject instanceof Map){ - return (Map>)fieldObject; - } else { - LOG.warn("Not found TypeAliasRegistry typeAliases"); - return null; - } - } catch (Exception e) { - LOG.error("Found TypeAliasRegistry typeAliases exception. {}", e.getMessage(), e); - return null; - } - } /** * 首字母小写 diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisMapperProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisMapperProcessor.java index 527a055..11e1e7c 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisMapperProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisMapperProcessor.java @@ -85,7 +85,7 @@ public class PluginMybatisMapperProcessor implements PluginPipeProcessorExtend { if (groupClass == null) { continue; } - BeanNameGenerator beanNameGenerator = new PluginAnnotationBeanNameGenerator(basePlugin.getWrapper().getPluginId()); + BeanNameGenerator beanNameGenerator = new PluginAnnotationBeanNameGenerator(pluginId, basePlugin.getWrapper().getPluginId()); AnnotatedGenericBeanDefinition abd = new AnnotatedGenericBeanDefinition(groupClass); ScopeMetadata scopeMetadata = this.scopeMetadataResolver.resolveScopeMetadata(abd); abd.setScope(scopeMetadata.getScopeName()); diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisXmlProcessor.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisXmlProcessor.java index 0f43209..f44213a 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisXmlProcessor.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/PluginMybatisXmlProcessor.java @@ -68,7 +68,9 @@ public class PluginMybatisXmlProcessor implements PluginPipeProcessorExtend { if(pluginResources == null || pluginResources.isEmpty()){ return; } - mybatisXmlProcess.loadXmlResource(pluginResources, pluginWrapper.getPluginClassLoader()); + mybatisXmlProcess.loadXmlResource( + pluginRegistryInfo.getPluginWrapper().getPluginId(), + pluginResources, pluginWrapper.getPluginClassLoader()); } private void processAliases(PluginRegistryInfo pluginRegistryInfo) { @@ -77,7 +79,7 @@ public class PluginMybatisXmlProcessor implements PluginPipeProcessorExtend { @Override public void unRegistry(PluginRegistryInfo pluginRegistryInfo) throws Exception { - // not thing + mybatisXmlProcess.unRegistry(pluginRegistryInfo.getPluginWrapper().getPluginId()); } } diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/MybatisXmlProcess.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/MybatisXmlProcess.java index a0e72a2..db62b96 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/MybatisXmlProcess.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/MybatisXmlProcess.java @@ -4,15 +4,12 @@ import org.apache.ibatis.executor.ErrorContext; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.Configuration; import org.apache.ibatis.session.SqlSessionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.core.io.Resource; -import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Field; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; /** @@ -23,13 +20,16 @@ import java.util.concurrent.ConcurrentHashMap; */ public class MybatisXmlProcess { + private static final Logger LOGGER = LoggerFactory.getLogger(MybatisXmlProcess.class); + private static MybatisXmlProcess mybatisXmlProcess = null; - private final Map MAPPERS = new ConcurrentHashMap<>(); + private final Map> XML_MAPPER_BUILDERS; private final SqlSessionFactory factory; private MybatisXmlProcess(SqlSessionFactory sqlSessionFactory) { this.factory = sqlSessionFactory; + this.XML_MAPPER_BUILDERS = new ConcurrentHashMap<>(); } /** @@ -58,23 +58,31 @@ public class MybatisXmlProcess { * @param pluginClassLoader pluginClassLoader * @throws Exception Exception */ - public void loadXmlResource(List resources, ClassLoader pluginClassLoader) throws Exception { + public void loadXmlResource(String pluginId, + List resources, + ClassLoader pluginClassLoader) throws Exception { if(resources == null || resources.isEmpty()){ return; } Configuration configuration = factory.getConfiguration(); - // removeConfig(configuration); ClassLoader defaultClassLoader = Resources.getDefaultClassLoader(); try { Resources.setDefaultClassLoader(pluginClassLoader); + List pluginMybatisXmlMapperBuilders = XML_MAPPER_BUILDERS.get(pluginId); + if(pluginMybatisXmlMapperBuilders == null){ + pluginMybatisXmlMapperBuilders = new ArrayList<>(); + XML_MAPPER_BUILDERS.put(pluginId, pluginMybatisXmlMapperBuilders); + } for (Resource resource : resources) { InputStream inputStream = resource.getInputStream(); try { PluginMybatisXmlMapperBuilder xmlMapperBuilder = new PluginMybatisXmlMapperBuilder( inputStream, - configuration, resource.toString(), + configuration, + resource.getFilename(), configuration.getSqlFragments(), pluginClassLoader); + pluginMybatisXmlMapperBuilders.add(xmlMapperBuilder); xmlMapperBuilder.parse(); } finally { if(inputStream != null){ @@ -89,87 +97,19 @@ public class MybatisXmlProcess { } } - /** - * 是否改变 - * @param resources resources - * @return boolean - * @throws IOException IOException - */ - @Deprecated - public boolean isChange(List resources) throws IOException { - if(resources == null || resources.isEmpty()){ - return false; + public void unRegistry(String pluginId){ + List pluginMybatisXmlMapperBuilders = XML_MAPPER_BUILDERS.get(pluginId); + if(pluginMybatisXmlMapperBuilders == null){ + return; } - boolean isChanged = false; - for (Resource resource : resources) { - String key = resource.getURI().toString(); - String value = getModify(resource); - if (!value.equals(MAPPERS.get(key))) { - isChanged = true; - MAPPERS.put(key, value); + for (PluginMybatisXmlMapperBuilder pluginMybatisXmlMapperBuilder : pluginMybatisXmlMapperBuilders) { + try { + pluginMybatisXmlMapperBuilder.unRegistry(); + } catch (Exception e){ + LOGGER.warn("UnRegistry xml type alias cache class error of plugin '{}', error '{}'", + pluginId, e.getMessage()); } } - return isChanged; - } - - - /** - * 移除配置 - * @param configuration configuration - * @throws Exception Exception - */ - @Deprecated - private void removeConfig(Configuration configuration) throws Exception { - Class classConfig = configuration.getClass(); - clearMap(classConfig, configuration, "mappedStatements"); - clearMap(classConfig, configuration, "caches"); - clearMap(classConfig, configuration, "resultMaps"); - clearMap(classConfig, configuration, "parameterMaps"); - clearMap(classConfig, configuration, "keyGenerators"); - clearMap(classConfig, configuration, "sqlFragments"); - clearSet(classConfig, configuration, "loadedResources"); - } - - /** - * 清除Map - * @param classConfig classConfig - * @param configuration configuration - * @param fieldName fieldName - * @throws Exception Exception - */ - @Deprecated - private void clearMap(Class classConfig, Configuration configuration, String fieldName) throws Exception { - Field field = classConfig.getDeclaredField(fieldName); - field.setAccessible(true); - ((Map) field.get(configuration)).clear(); - } - - /** - * 清除Set - * @param classConfig classConfig - * @param configuration configuration - * @param fieldName fieldName - * @throws Exception Exception - */ - private void clearSet(Class classConfig, Configuration configuration, String fieldName) throws Exception { - Field field = classConfig.getDeclaredField(fieldName); - field.setAccessible(true); - ((Set) field.get(configuration)).clear(); - } - - - /** - * 得到修改信息 - * @param resource 资源 - * @return String - * @throws IOException IOException - */ - private String getModify(Resource resource) throws IOException { - return new StringBuilder() - .append(resource.contentLength()) - .append("-") - .append(resource.lastModified()) - .toString(); } } diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/PluginMybatisXmlMapperBuilder.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/PluginMybatisXmlMapperBuilder.java index b1871d7..5a478c9 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/PluginMybatisXmlMapperBuilder.java +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/PluginMybatisXmlMapperBuilder.java @@ -6,8 +6,10 @@ import org.apache.ibatis.session.Configuration; import org.apache.ibatis.type.TypeException; import java.io.InputStream; +import java.util.HashSet; import java.util.Locale; import java.util.Map; +import java.util.Set; /** * 插件 xmlMapper 构造者 @@ -17,7 +19,9 @@ import java.util.Map; */ public class PluginMybatisXmlMapperBuilder extends XMLMapperBuilder { + private final ClassLoader pluginClassLoader; + private final Set typeAliasRegistryClassKeys = new HashSet<>(); public PluginMybatisXmlMapperBuilder(InputStream inputStream, Configuration configuration, @@ -43,16 +47,42 @@ public class PluginMybatisXmlMapperBuilder extends XMLMapperBuilder { if (alias == null) { return null; } - Map> typeAliases = typeAliasRegistry.getTypeAliases(); - String key = alias.toLowerCase(Locale.ENGLISH); - if (typeAliases.containsKey(key)) { - return typeAliasRegistry.resolveAlias(alias); - } else { - try { - return (Class) Class.forName(alias, false, pluginClassLoader); - } catch (ClassNotFoundException e) { - throw new TypeException("Could not resolve type alias '" + alias + "'. Cause: " + e, e); + try { + Map> typeAliases = TypeAliasRegistryUtils.getTypeAliases(typeAliasRegistry); + String key = alias.toLowerCase(Locale.ENGLISH); + if (typeAliases.containsKey(key)) { + return typeAliasRegistry.resolveAlias(alias); + } else { + try { + Class aClass = (Class) Class.forName(alias, false, pluginClassLoader); + typeAliasRegistryClassKeys.add(key); + typeAliases.put(key, aClass); + return aClass; + } catch (ClassNotFoundException e) { + throw new TypeException("Could not resolve type alias '" + alias + "'. Cause: " + e, e); + } } + } catch (Exception e) { + e.printStackTrace(); + return null; } } + + + /** + * 卸载时调用,主要是删除typeAliasRegistry中typeAliases所缓存的Class对象 + */ + void unRegistry(){ + try { + Map> typeAliases = TypeAliasRegistryUtils.getTypeAliases(typeAliasRegistry); + for (String typeAliasRegistryClassKey : typeAliasRegistryClassKeys) { + typeAliases.remove(typeAliasRegistryClassKey); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + } \ No newline at end of file diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/TypeAliasRegistryUtils.java b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/TypeAliasRegistryUtils.java new file mode 100644 index 0000000..bb99402 --- /dev/null +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/src/main/java/com/gitee/starblues/extension/mybatis/utils/TypeAliasRegistryUtils.java @@ -0,0 +1,49 @@ +package com.gitee.starblues.extension.mybatis.utils; + +import org.apache.ibatis.type.TypeAliasRegistry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.reflect.Field; +import java.util.Map; + +/** + * mybatis 别名工具类 + * + * @author zhangzhuo + * @version 1.0 + */ +public class TypeAliasRegistryUtils { + + private final static Logger LOG = LoggerFactory.getLogger(TypeAliasRegistryUtils.class); + + private TypeAliasRegistryUtils(){ + + } + + + /** + * + * 通过反射获取别名注册器 TypeAliasRegistry 中存储别名的 typeAliases Map集合。 + * @param typeAliasRegistry 别名注册器 + * @return typeAliases Map集合。 + * @throws Exception 获取不到异常 + */ + public static Map> getTypeAliases(TypeAliasRegistry typeAliasRegistry) throws Exception { + if(typeAliasRegistry == null){ + throw new Exception("TypeAliasRegistry can not is null"); + } + Field field = typeAliasRegistry.getClass().getDeclaredField("typeAliases"); + //设置对象的访问权限,保证对private的属性的访问 + field.setAccessible(true); + Object fieldObject = field.get(typeAliasRegistry); + if(fieldObject instanceof Map){ + return (Map>)fieldObject; + } else { + LOG.warn("Not found TypeAliasRegistry typeAliases"); + throw new Exception("Not found TypeAliasRegistry typeAliases"); + } + } + + +} -- Gitee From 15e204b1ff85c8215719576e5e767548a399bc7b Mon Sep 17 00:00:00 2001 From: StarBlues Date: Wed, 29 Apr 2020 16:54:26 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/basic/example/main/ExampleMain.java | 3 ++ .../mybatis/plugin1/mapper/Plugin1Mapper.java | 3 +- .../com/mybatisplus/main/MybatisPlusMain.java | 2 -- .../mybatisplus/main/mapper/UserMapper.java | 4 +-- .../integration-mybatisplus-plugin/pom.xml | 1 - .../mybatisplus/plugin/entity/PluginData.java | 2 ++ .../tkmybatis/main/rest/UserController.java | 34 +++++++++++++++++++ 7 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 example/integration-tkmybatis/integration-tkmybatis-main/src/main/java/com/tkmybatis/main/rest/UserController.java diff --git a/example/basic-example/basic-example-main/src/main/java/com/basic/example/main/ExampleMain.java b/example/basic-example/basic-example-main/src/main/java/com/basic/example/main/ExampleMain.java index f12ad2c..795a990 100644 --- a/example/basic-example/basic-example-main/src/main/java/com/basic/example/main/ExampleMain.java +++ b/example/basic-example/basic-example-main/src/main/java/com/basic/example/main/ExampleMain.java @@ -15,4 +15,7 @@ public class ExampleMain { SpringApplication.run(ExampleMain.class, args); } + + + } diff --git a/example/integration-mybatis/plugins/integration-mybatis-plugin1/src/main/java/com/mybatis/plugin1/mapper/Plugin1Mapper.java b/example/integration-mybatis/plugins/integration-mybatis-plugin1/src/main/java/com/mybatis/plugin1/mapper/Plugin1Mapper.java index ed30329..3c482c9 100644 --- a/example/integration-mybatis/plugins/integration-mybatis-plugin1/src/main/java/com/mybatis/plugin1/mapper/Plugin1Mapper.java +++ b/example/integration-mybatis/plugins/integration-mybatis-plugin1/src/main/java/com/mybatis/plugin1/mapper/Plugin1Mapper.java @@ -3,6 +3,7 @@ package com.mybatis.plugin1.mapper; import com.gitee.starblues.extension.mybatis.annotation.PluginMapper; import com.mybatis.plugin1.entity.Plugin1; import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -13,7 +14,7 @@ import java.util.List; * @author zhangzhuo * @version 1.0 */ -@PluginMapper +@Mapper public interface Plugin1Mapper { diff --git a/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/MybatisPlusMain.java b/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/MybatisPlusMain.java index df71af7..2c39fe3 100644 --- a/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/MybatisPlusMain.java +++ b/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/MybatisPlusMain.java @@ -1,6 +1,5 @@ package com.mybatisplus.main; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -11,7 +10,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @version 1.0 */ @SpringBootApplication(scanBasePackages = { "com.mybatisplus.main" }) -@MapperScan("com.mybatisplus.main.mapper") public class MybatisPlusMain { public static void main(String[] args) { diff --git a/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/mapper/UserMapper.java b/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/mapper/UserMapper.java index 705a5aa..2593bed 100644 --- a/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/mapper/UserMapper.java +++ b/example/integration-mybatisplus/integration-mybatisplus-main/src/main/java/com/mybatisplus/main/mapper/UserMapper.java @@ -2,10 +2,9 @@ package com.mybatisplus.main.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mybatisplus.main.entity.User; +import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import org.springframework.stereotype.Repository; - import java.util.List; /** @@ -14,6 +13,7 @@ import java.util.List; * @author zhangzhuo * @version 1.0 */ +@Mapper public interface UserMapper extends BaseMapper { /** diff --git a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml index 76505b0..bb1dfb3 100644 --- a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml +++ b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml @@ -10,7 +10,6 @@ jar - integration-mybatisplus-plugin com.mybatisplus.plugin.MybatisPlusPlugin ${project.version} diff --git a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/src/main/java/com/mybatisplus/plugin/entity/PluginData.java b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/src/main/java/com/mybatisplus/plugin/entity/PluginData.java index adf2c1e..ea168c9 100644 --- a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/src/main/java/com/mybatisplus/plugin/entity/PluginData.java +++ b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/src/main/java/com/mybatisplus/plugin/entity/PluginData.java @@ -3,6 +3,7 @@ package com.mybatisplus.plugin.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import org.apache.ibatis.type.Alias; /** * description @@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.annotation.TableName; * @version 1.0 */ @TableName("plugin_data") +@Alias("pluginData") public class PluginData { @TableId(type = IdType.UUID) diff --git a/example/integration-tkmybatis/integration-tkmybatis-main/src/main/java/com/tkmybatis/main/rest/UserController.java b/example/integration-tkmybatis/integration-tkmybatis-main/src/main/java/com/tkmybatis/main/rest/UserController.java new file mode 100644 index 0000000..57acd1d --- /dev/null +++ b/example/integration-tkmybatis/integration-tkmybatis-main/src/main/java/com/tkmybatis/main/rest/UserController.java @@ -0,0 +1,34 @@ +package com.tkmybatis.main.rest; + +import com.google.common.collect.Lists; +import com.tkmybatis.main.entity.User; +import com.tkmybatis.main.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * description + * + * @author zhangzhuo + * @version 1.0 + */ +@RestController +@RequestMapping("/user") +public class UserController { + + @Autowired + private UserMapper userMapper; + + + @GetMapping + public List getUser(){ + return userMapper.selectAll(); + } + + + +} -- Gitee From 4b7642012cc1ef066c1c6da2b364311797c9ce76 Mon Sep 17 00:00:00 2001 From: StarBlues Date: Wed, 29 Apr 2020 16:59:38 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9pom=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E5=88=B02.2.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/basic-example/basic-example-main/pom.xml | 4 ++-- example/basic-example/basic-example-runner/pom.xml | 2 +- .../plugins/basic-example-plugin1/plugin.properties | 2 +- .../basic-example/plugins/basic-example-plugin1/pom.xml | 4 ++-- .../plugins/basic-example-plugin2/plugin.properties | 2 +- .../basic-example/plugins/basic-example-plugin2/pom.xml | 4 ++-- example/basic-example/plugins/pom.xml | 2 +- example/basic-example/pom.xml | 2 +- .../integration-mybatis/integration-mybatis-main/pom.xml | 8 ++++---- .../integration-mybatis-plugin-parent/pom.xml | 2 +- .../integration-mybatis-runner/pom.xml | 2 +- .../plugins/integration-mybatis-plugin1/plugin.properties | 2 +- .../plugins/integration-mybatis-plugin1/pom.xml | 4 ++-- .../plugins/integration-mybatis-plugin2/plugin.properties | 2 +- .../plugins/integration-mybatis-plugin2/pom.xml | 4 ++-- example/integration-mybatis/pom.xml | 2 +- .../integration-mybatisplus-main/pom.xml | 6 +++--- .../integration-mybatisplus-plugin/plugin.properties | 2 +- .../plugins/integration-mybatisplus-plugin/pom.xml | 2 +- example/integration-mybatisplus/pom.xml | 2 +- example/pom.xml | 2 +- pom.xml | 2 +- springboot-plugin-framework-extension/pom.xml | 2 +- .../springboot-plugin-framework-extension-mybatis/pom.xml | 4 ++-- .../pom.xml | 2 +- springboot-plugin-framework/pom.xml | 2 +- 26 files changed, 37 insertions(+), 37 deletions(-) diff --git a/example/basic-example/basic-example-main/pom.xml b/example/basic-example/basic-example-main/pom.xml index 82b23e6..3aa4d38 100644 --- a/example/basic-example/basic-example-main/pom.xml +++ b/example/basic-example/basic-example-main/pom.xml @@ -13,14 +13,14 @@ com.gitee.starblues basic-example-main - 2.2.3-RELEASE + 2.2.4-RELEASE jar 2.7.0 2.3.2 1.6 - 2.2.3-RELEASE + 2.2.4-RELEASE diff --git a/example/basic-example/basic-example-runner/pom.xml b/example/basic-example/basic-example-runner/pom.xml index 2e56acf..b3050c2 100644 --- a/example/basic-example/basic-example-runner/pom.xml +++ b/example/basic-example/basic-example-runner/pom.xml @@ -14,7 +14,7 @@ com.gitee.starblues basic-example-runner - 2.2.3-RELEASE + 2.2.4-RELEASE pom diff --git a/example/basic-example/plugins/basic-example-plugin1/plugin.properties b/example/basic-example/plugins/basic-example-plugin1/plugin.properties index ee94449..0f00093 100644 --- a/example/basic-example/plugins/basic-example-plugin1/plugin.properties +++ b/example/basic-example/plugins/basic-example-plugin1/plugin.properties @@ -1,4 +1,4 @@ plugin.id=basic-example-plugin1 plugin.class=com.basic.example.plugin1.DefinePlugin -plugin.version=2.2.3-RELEASE +plugin.version=2.2.4-RELEASE plugin.provider=StarBlues \ No newline at end of file diff --git a/example/basic-example/plugins/basic-example-plugin1/pom.xml b/example/basic-example/plugins/basic-example-plugin1/pom.xml index 9fe66f3..706998f 100644 --- a/example/basic-example/plugins/basic-example-plugin1/pom.xml +++ b/example/basic-example/plugins/basic-example-plugin1/pom.xml @@ -8,12 +8,12 @@ com.gitee.starblues basic-example-plugin-parent - 2.2.3-RELEASE + 2.2.4-RELEASE ../pom.xml basic-example-plugin1 - 2.2.3-RELEASE + 2.2.4-RELEASE jar diff --git a/example/basic-example/plugins/basic-example-plugin2/plugin.properties b/example/basic-example/plugins/basic-example-plugin2/plugin.properties index 00c6e52..debcff2 100644 --- a/example/basic-example/plugins/basic-example-plugin2/plugin.properties +++ b/example/basic-example/plugins/basic-example-plugin2/plugin.properties @@ -1,4 +1,4 @@ plugin.id=basic-example-plugin2 plugin.class=com.basic.example.plugin2.DefinePlugin -plugin.version=2.2.3-RELEASE +plugin.version=2.2.4-RELEASE plugin.provider=StarBlues \ No newline at end of file diff --git a/example/basic-example/plugins/basic-example-plugin2/pom.xml b/example/basic-example/plugins/basic-example-plugin2/pom.xml index 599b3c7..5bcf362 100644 --- a/example/basic-example/plugins/basic-example-plugin2/pom.xml +++ b/example/basic-example/plugins/basic-example-plugin2/pom.xml @@ -8,12 +8,12 @@ com.gitee.starblues basic-example-plugin-parent - 2.2.3-RELEASE + 2.2.4-RELEASE ../pom.xml basic-example-plugin2 - 2.2.3-RELEASE + 2.2.4-RELEASE jar diff --git a/example/basic-example/plugins/pom.xml b/example/basic-example/plugins/pom.xml index 533e70f..e60fa7b 100644 --- a/example/basic-example/plugins/pom.xml +++ b/example/basic-example/plugins/pom.xml @@ -7,7 +7,7 @@ com.gitee.starblues basic-example-plugin-parent - 2.2.3-RELEASE + 2.2.4-RELEASE pom diff --git a/example/basic-example/pom.xml b/example/basic-example/pom.xml index bc91e56..2ecc452 100644 --- a/example/basic-example/pom.xml +++ b/example/basic-example/pom.xml @@ -6,7 +6,7 @@ com.gitee.starblues basic-example - 2.2.3-RELEASE + 2.2.4-RELEASE pom 基本案例 diff --git a/example/integration-mybatis/integration-mybatis-main/pom.xml b/example/integration-mybatis/integration-mybatis-main/pom.xml index f601315..e1095c5 100644 --- a/example/integration-mybatis/integration-mybatis-main/pom.xml +++ b/example/integration-mybatis/integration-mybatis-main/pom.xml @@ -14,14 +14,14 @@ com.gitee.starblues integration-mybatis-main - 2.2.3-RELEASE + 2.2.4-RELEASE jar 主程序模块 - 2.2.3-RELEASE - 2.2.3-RELEASE - 2.2.3-RELEASE + 2.2.4-RELEASE + 2.2.4-RELEASE + 2.2.4-RELEASE 2.0.1 2.7.0 1.6 diff --git a/example/integration-mybatis/integration-mybatis-plugin-parent/pom.xml b/example/integration-mybatis/integration-mybatis-plugin-parent/pom.xml index cbb0865..dd3043c 100644 --- a/example/integration-mybatis/integration-mybatis-plugin-parent/pom.xml +++ b/example/integration-mybatis/integration-mybatis-plugin-parent/pom.xml @@ -7,7 +7,7 @@ com.gitee.starblues integration-mybatis-plugin-parent - 2.2.3-RELEASE + 2.2.4-RELEASE pom diff --git a/example/integration-mybatis/integration-mybatis-runner/pom.xml b/example/integration-mybatis/integration-mybatis-runner/pom.xml index a10c71a..6be6899 100644 --- a/example/integration-mybatis/integration-mybatis-runner/pom.xml +++ b/example/integration-mybatis/integration-mybatis-runner/pom.xml @@ -14,7 +14,7 @@ com.gitee.starblues integration-mybatis-runner - 2.2.3-RELEASE + 2.2.4-RELEASE jar 启动程序模块。将启动类配置到该模块下 diff --git a/example/integration-mybatis/plugins/integration-mybatis-plugin1/plugin.properties b/example/integration-mybatis/plugins/integration-mybatis-plugin1/plugin.properties index 4ff6f8f..64ce970 100644 --- a/example/integration-mybatis/plugins/integration-mybatis-plugin1/plugin.properties +++ b/example/integration-mybatis/plugins/integration-mybatis-plugin1/plugin.properties @@ -1,4 +1,4 @@ plugin.id=integration-mybatis-plugin1 plugin.class=com.mybatis.plugin1.ExamplePlugin1 -plugin.version=2.2.3-RELEASE +plugin.version=2.2.4-RELEASE plugin.provider=StarBlues \ No newline at end of file diff --git a/example/integration-mybatis/plugins/integration-mybatis-plugin1/pom.xml b/example/integration-mybatis/plugins/integration-mybatis-plugin1/pom.xml index d509a5c..cf802bb 100644 --- a/example/integration-mybatis/plugins/integration-mybatis-plugin1/pom.xml +++ b/example/integration-mybatis/plugins/integration-mybatis-plugin1/pom.xml @@ -8,12 +8,12 @@ com.gitee.starblues integration-mybatis-plugin-parent - 2.2.3-RELEASE + 2.2.4-RELEASE ../../integration-mybatis-plugin-parent/pom.xml integration-mybatis-plugin1 - 2.2.3-RELEASE + 2.2.4-RELEASE jar diff --git a/example/integration-mybatis/plugins/integration-mybatis-plugin2/plugin.properties b/example/integration-mybatis/plugins/integration-mybatis-plugin2/plugin.properties index 9fc286a..4a7ea56 100644 --- a/example/integration-mybatis/plugins/integration-mybatis-plugin2/plugin.properties +++ b/example/integration-mybatis/plugins/integration-mybatis-plugin2/plugin.properties @@ -1,4 +1,4 @@ plugin.id=integration-mybatis-plugin2 plugin.class=com.mybatis.plugin2.ExamplePlugin2 -plugin.version=2.2.3-RELEASE +plugin.version=2.2.4-RELEASE plugin.provider=StarBlues \ No newline at end of file diff --git a/example/integration-mybatis/plugins/integration-mybatis-plugin2/pom.xml b/example/integration-mybatis/plugins/integration-mybatis-plugin2/pom.xml index 7fa6328..fd1a5f1 100644 --- a/example/integration-mybatis/plugins/integration-mybatis-plugin2/pom.xml +++ b/example/integration-mybatis/plugins/integration-mybatis-plugin2/pom.xml @@ -8,12 +8,12 @@ com.gitee.starblues integration-mybatis-plugin-parent - 2.2.3-RELEASE + 2.2.4-RELEASE ../../integration-mybatis-plugin-parent/pom.xml integration-mybatis-plugin2 - 2.2.3-RELEASE + 2.2.4-RELEASE jar diff --git a/example/integration-mybatis/pom.xml b/example/integration-mybatis/pom.xml index 3faec6d..eaf503b 100644 --- a/example/integration-mybatis/pom.xml +++ b/example/integration-mybatis/pom.xml @@ -7,7 +7,7 @@ com.gitee.starblues integration-mybatis - 2.2.3-RELEASE + 2.2.4-RELEASE pom 集成mybatis案例 diff --git a/example/integration-mybatisplus/integration-mybatisplus-main/pom.xml b/example/integration-mybatisplus/integration-mybatisplus-main/pom.xml index b618462..2653021 100644 --- a/example/integration-mybatisplus/integration-mybatisplus-main/pom.xml +++ b/example/integration-mybatisplus/integration-mybatisplus-main/pom.xml @@ -13,7 +13,7 @@ com.gitee.starblues - 2.2.3-RELEASE + 2.2.4-RELEASE integration-mybatisplus-main jar 集成mybatis-plus 案例--主程序 @@ -27,8 +27,8 @@ 2.0.1 3.2.0 - 2.2.3-RELEASE - 2.2.3-RELEASE + 2.2.4-RELEASE + 2.2.4-RELEASE 2.7.0 1.6 diff --git a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/plugin.properties b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/plugin.properties index 6bff82a..841713b 100644 --- a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/plugin.properties +++ b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/plugin.properties @@ -1,4 +1,4 @@ plugin.id=integration-mybatisplus-plugin plugin.class=com.mybatisplus.plugin.MybatisPlusPlugin -plugin.version=2.2.3-RELEASE +plugin.version=2.2.4-RELEASE plugin.provider=StarBlues \ No newline at end of file diff --git a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml index bb1dfb3..67e9b87 100644 --- a/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml +++ b/example/integration-mybatisplus/plugins/integration-mybatisplus-plugin/pom.xml @@ -6,7 +6,7 @@ com.gitee.starblues integration-mybatisplus-plugin - 2.2.3-RELEASE + 2.2.4-RELEASE jar diff --git a/example/integration-mybatisplus/pom.xml b/example/integration-mybatisplus/pom.xml index 75ce917..726a504 100644 --- a/example/integration-mybatisplus/pom.xml +++ b/example/integration-mybatisplus/pom.xml @@ -6,7 +6,7 @@ com.gitee.starblues integration-mybatisplus - 2.2.3-RELEASE + 2.2.4-RELEASE pom 集成mybatis-plus案例 diff --git a/example/pom.xml b/example/pom.xml index 4df045d..d6fcc0f 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -6,7 +6,7 @@ com.gitee.starblues springboot-plugin-framework-example - 2.2.3-RELEASE + 2.2.4-RELEASE pom diff --git a/pom.xml b/pom.xml index 44a212a..dcb46ac 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.gitee.starblues springboot-plugin-framework-parent pom - 2.2.3-RELEASE + 2.2.4-RELEASE spring boot 插件开发集成包 diff --git a/springboot-plugin-framework-extension/pom.xml b/springboot-plugin-framework-extension/pom.xml index f418c24..fe8c381 100644 --- a/springboot-plugin-framework-extension/pom.xml +++ b/springboot-plugin-framework-extension/pom.xml @@ -9,7 +9,7 @@ com.gitee.starblues springboot-plugin-framework-extension pom - 2.2.3-RELEASE + 2.2.4-RELEASE spring boot 插件式开发集成包--扩展模块 diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml index 0a1f27a..f3748f7 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-mybatis/pom.xml @@ -13,7 +13,7 @@ com.gitee.starblues springboot-plugin-framework-extension-mybatis - 2.2.3-RELEASE + 2.2.4-RELEASE jar 插件扩展-spring boot mybatis 集成扩展 @@ -64,7 +64,7 @@ 3.1.0 1.6 - 2.2.3-RELEASE + 2.2.4-RELEASE 2.0.1 3.2.0 diff --git a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/pom.xml b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/pom.xml index ed9286d..ecdeefe 100644 --- a/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/pom.xml +++ b/springboot-plugin-framework-extension/springboot-plugin-framework-extension-resources/pom.xml @@ -13,7 +13,7 @@ com.gitee.starblues springboot-plugin-framework-extension-resources - 2.2.3-RELEASE + 2.2.4-RELEASE jar 插件扩展-通过url读取插件中的静态资源 diff --git a/springboot-plugin-framework/pom.xml b/springboot-plugin-framework/pom.xml index 6269ed4..a1eebeb 100644 --- a/springboot-plugin-framework/pom.xml +++ b/springboot-plugin-framework/pom.xml @@ -13,7 +13,7 @@ com.gitee.starblues springboot-plugin-framework jar - 2.2.3-RELEASE + 2.2.4-RELEASE spring boot 插件式开发集成包 -- Gitee