Browse Source

更新代码

miemie 6 years ago
parent
commit
23a178af8c

+ 0 - 1
mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/ConfigurationCustomizer.java

@@ -31,5 +31,4 @@ public interface ConfigurationCustomizer {
      * @param configuration the configuration object to customize
      */
     void customize(Configuration configuration);
-
 }

+ 10 - 10
mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/MybatisPlusProperties.java

@@ -15,11 +15,9 @@
  */
 package com.baomidou.mybatisplus.autoconfigure;
 
-import java.io.IOException;
-import java.util.Optional;
-import java.util.Properties;
-import java.util.stream.Stream;
-
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 import org.apache.ibatis.session.ExecutorType;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.NestedConfigurationProperty;
@@ -27,9 +25,10 @@ import org.springframework.core.io.Resource;
 import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
 import org.springframework.core.io.support.ResourcePatternResolver;
 
-import com.baomidou.mybatisplus.core.MybatisConfiguration;
-import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
+import java.io.IOException;
+import java.util.Optional;
+import java.util.Properties;
+import java.util.stream.Stream;
 
 /**
  * Configuration properties for MyBatis.
@@ -37,9 +36,11 @@ import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
  * @author Eddú Meléndez
  * @author Kazuki Shimizu
  */
-@ConfigurationProperties(prefix = "mybatis-plus")
+@ConfigurationProperties(prefix = MybatisPlusProperties.MYBATIS_PREFIX)
 public class MybatisPlusProperties {
 
+    public static final String MYBATIS_PREFIX = "mybatis-plus";
+
     private static final ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
 
     /**
@@ -220,5 +221,4 @@ public class MybatisPlusProperties {
             return new Resource[0];
         }
     }
-
 }

+ 12 - 13
mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SpringBootVFS.java

@@ -16,6 +16,11 @@
 package com.baomidou.mybatisplus.autoconfigure;
 
 
+import org.apache.ibatis.io.VFS;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.core.io.support.ResourcePatternResolver;
+
 import java.io.IOException;
 import java.io.UncheckedIOException;
 import java.net.URL;
@@ -23,12 +28,6 @@ import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import org.apache.ibatis.io.VFS;
-
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.core.io.support.ResourcePatternResolver;
-
 /**
  * @author Hans Westerbeek
  * @author Eddú Meléndez
@@ -49,20 +48,20 @@ public class SpringBootVFS extends VFS {
 
     @Override
     protected List<String> list(URL url, String path) throws IOException {
-        Resource[] resources = resourceResolver.getResources("classpath*:" + path + "/**/*.class");
+        String urlString = url.toString();
+        String baseUrlString = urlString.endsWith("/") ? urlString : urlString.concat("/");
+        Resource[] resources = resourceResolver.getResources(baseUrlString + "**/*.class");
         return Stream.of(resources)
-            .map(resource -> preserveSubpackageName(resource, path))
+            .map(resource -> preserveSubpackageName(baseUrlString, resource, path))
             .collect(Collectors.toList());
     }
 
-    private static String preserveSubpackageName(final Resource resource, final String rootPath) {
+    private String preserveSubpackageName(final String baseUrlString, final Resource resource, final String rootPath) {
         try {
-            final String uriStr = resource.getURI().toString();
-            final int start = uriStr.indexOf(rootPath);
-            return uriStr.substring(start);
+            return rootPath + (rootPath.endsWith("/") ? "" : "/")
+                + resource.getURL().toString().substring(baseUrlString.length());
         } catch (IOException e) {
             throw new UncheckedIOException(e);
         }
     }
-
 }