diff --git a/pom.xml b/pom.xml index 1366b60..49bc6c9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 3.1.5 + 3.3.2 com.lion @@ -54,7 +54,7 @@ cn.hutool hutool-all - 5.8.20 + 5.8.26 @@ -89,7 +89,7 @@ org.apache.commons commons-compress - 1.21 + 1.26.1 @@ -101,7 +101,7 @@ io.netty netty-all - 4.1.101.Final + 4.1.105.Final diff --git a/src/main/java/com/lion/lionwebsite/Configuration/MyBatisNativeConfiguration.java b/src/main/java/com/lion/lionwebsite/Configuration/MyBatisNativeConfiguration.java index 74f398e..7f63196 100644 --- a/src/main/java/com/lion/lionwebsite/Configuration/MyBatisNativeConfiguration.java +++ b/src/main/java/com/lion/lionwebsite/Configuration/MyBatisNativeConfiguration.java @@ -38,6 +38,7 @@ import org.springframework.beans.factory.aot.BeanRegistrationExcludeFilter; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; +import org.springframework.beans.factory.config.ConstructorArgumentValues; import org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor; import org.springframework.beans.factory.support.RegisteredBean; import org.springframework.beans.factory.support.RootBeanDefinition; @@ -201,8 +202,7 @@ public class MyBatisNativeConfiguration { } else { result = (Class) src; } - } else if (src instanceof ParameterizedType) { - ParameterizedType parameterizedType = (ParameterizedType) src; + } else if (src instanceof ParameterizedType parameterizedType) { int index = (parameterizedType.getRawType() instanceof Class && Map.class.isAssignableFrom((Class) parameterizedType.getRawType()) && parameterizedType.getActualTypeArguments().length > 1) ? 1 : 0; @@ -246,8 +246,10 @@ public class MyBatisNativeConfiguration { Class mapperInterface = getMapperInterface(beanDefinition); if (mapperInterface != null) { // Exposes a generic type information to context for prevent early initializing - beanDefinition - .setTargetType(ResolvableType.forClassWithGenerics(beanDefinition.getBeanClass(), mapperInterface)); + ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues(); + constructorArgumentValues.addGenericArgumentValue(mapperInterface); + beanDefinition.setConstructorArgumentValues(constructorArgumentValues); + beanDefinition.setTargetType(ResolvableType.forClassWithGenerics(beanDefinition.getBeanClass(), mapperInterface)); } } } diff --git a/src/main/java/com/lion/lionwebsite/Service/PersonalServiceImpl.java b/src/main/java/com/lion/lionwebsite/Service/PersonalServiceImpl.java index f7b13eb..049587a 100644 --- a/src/main/java/com/lion/lionwebsite/Service/PersonalServiceImpl.java +++ b/src/main/java/com/lion/lionwebsite/Service/PersonalServiceImpl.java @@ -18,7 +18,6 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.Data; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; import org.apache.tomcat.util.http.fileupload.IOUtils; @@ -321,7 +320,7 @@ public class PersonalServiceImpl{ Files.walkFileTree(dirPath, new SimpleFileVisitor<>() { @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { - ArchiveEntry entry = new TarArchiveEntry(dir.toFile(), dirPath.relativize(dir).toString()); + TarArchiveEntry entry = new TarArchiveEntry(dir.toFile(), dirPath.relativize(dir).toString()); aos.putArchiveEntry(entry); aos.closeArchiveEntry(); return super.preVisitDirectory(dir, attrs); @@ -329,7 +328,7 @@ public class PersonalServiceImpl{ @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { - ArchiveEntry entry = new TarArchiveEntry(file.toFile(), dirPath.relativize(file).toString()); + TarArchiveEntry entry = new TarArchiveEntry(file.toFile(), dirPath.relativize(file).toString()); aos.putArchiveEntry(entry); IOUtils.copy(Files.newInputStream(file.toFile().toPath()), aos); aos.closeArchiveEntry();