diff --git a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/SpringBootVFS.java b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/SpringBootVFS.java
index 067954bf..a6d81953 100644
--- a/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/SpringBootVFS.java
+++ b/mybatis-flex-spring-boot-starter/src/main/java/com/mybatisflex/spring/boot/SpringBootVFS.java
@@ -1,17 +1,17 @@
-/**
- * Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+/*
+ * Copyright (c) 2022-2023, Mybatis-Flex (fuhai999@gmail.com).
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
package com.mybatisflex.spring.boot;
@@ -31,59 +31,58 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
- * Mybatis 的 VFS 支持
+ * MyBatis 的 VFS 支持。
*/
public class SpringBootVFS extends VFS {
- private static Charset urlDecodingCharset;
- private final ResourcePatternResolver resourceResolver;
+ private static Charset urlDecodingCharset;
- static {
- setUrlDecodingCharset(Charset.defaultCharset());
- }
-
- public SpringBootVFS() {
- this.resourceResolver = new PathMatchingResourcePatternResolver(getClass().getClassLoader());
- }
-
- @Override
- public boolean isValid() {
- return true;
- }
-
- @Override
- protected List list(URL url, String path) throws IOException {
- String urlString = URLDecoder.decode(url.toString(), urlDecodingCharset.name());
- String baseUrlString = urlString.endsWith("/") ? urlString : urlString.concat("/");
- Resource[] resources = resourceResolver.getResources(baseUrlString + "**/*.class");
- return Stream.of(resources).map(resource -> preserveSubpackageName(baseUrlString, resource, path))
- .collect(Collectors.toList());
- }
-
- /**
- * Set the charset for decoding an encoded URL string.
- *
- * Default is system default charset.
- *
- *
- * @param charset
- * the charset for decoding an encoded URL string
- *
- * @since 2.3.0
- */
- public static void setUrlDecodingCharset(Charset charset) {
- urlDecodingCharset = charset;
- }
-
- private static String preserveSubpackageName(final String baseUrlString, final Resource resource,
- final String rootPath) {
- try {
- return rootPath + (rootPath.endsWith("/") ? "" : "/") + Normalizer
- .normalize(URLDecoder.decode(resource.getURL().toString(), urlDecodingCharset.name()), Normalizer.Form.NFC)
- .substring(baseUrlString.length());
- } catch (IOException e) {
- throw new UncheckedIOException(e);
+ static {
+ setUrlDecodingCharset(Charset.defaultCharset());
+ }
+
+ private final ResourcePatternResolver resourceResolver;
+
+ public SpringBootVFS() {
+ this.resourceResolver = new PathMatchingResourcePatternResolver(getClass().getClassLoader());
+ }
+
+ /**
+ * Set the charset for decoding an encoded URL string.
+ *
+ * Default is system default charset.
+ *
+ *
+ * @param charset the charset for decoding an encoded URL string
+ * @since 2.3.0
+ */
+ public static void setUrlDecodingCharset(Charset charset) {
+ urlDecodingCharset = charset;
+ }
+
+ private static String preserveSubpackageName(final String baseUrlString, final Resource resource,
+ final String rootPath) {
+ try {
+ return rootPath + (rootPath.endsWith("/") ? "" : "/") + Normalizer
+ .normalize(URLDecoder.decode(resource.getURL().toString(), urlDecodingCharset.name()), Normalizer.Form.NFC)
+ .substring(baseUrlString.length());
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+
+ @Override
+ public boolean isValid() {
+ return true;
+ }
+
+ @Override
+ protected List list(URL url, String path) throws IOException {
+ String urlString = URLDecoder.decode(url.toString(), urlDecodingCharset.name());
+ String baseUrlString = urlString.endsWith("/") ? urlString : urlString.concat("/");
+ Resource[] resources = resourceResolver.getResources(baseUrlString + "**/*.class");
+ return Stream.of(resources).map(resource -> preserveSubpackageName(baseUrlString, resource, path))
+ .collect(Collectors.toList());
}
- }
}