浏览代码

升级springboot版本

chendt 1 年之前
父节点
当前提交
b1a90bba3c

+ 3 - 4
doc/基本框架设计/分布式锁.md

@@ -78,16 +78,15 @@ yamiUserDetailsService.insertUserIfNecessary(appConnect);
             return StrUtil.EMPTY;
         }
         //获取被拦截方法参数名列表(使用Spring支持类库)
-        LocalVariableTableParameterNameDiscoverer u =
-                new LocalVariableTableParameterNameDiscoverer();
-        String[] paraNameArr = u.getParameterNames(method);
+        StandardReflectionParameterNameDiscoverer standardReflectionParameterNameDiscoverer = new StandardReflectionParameterNameDiscoverer();
+        String[] paraNameArr = standardReflectionParameterNameDiscoverer.getParameterNames(method);
         if (ArrayUtil.isEmpty(paraNameArr)) {
             return spel;
         }
         //使用SPEL进行key的解析
         ExpressionParser parser = new SpelExpressionParser();
         //SPEL上下文
-        StandardEvaluationContext context = new MethodBasedEvaluationContext(rootObject,method,args,u);
+        StandardEvaluationContext context = new MethodBasedEvaluationContext(rootObject,method,args,standardReflectionParameterNameDiscoverer);
         //把方法参数放入SPEL上下文中
         for (int i = 0; i < paraNameArr.length; i++) {
             context.setVariable(paraNameArr[i], args[i]);

+ 16 - 9
pom.xml

@@ -21,25 +21,26 @@
         <yami.shop.version>0.0.1-SNAPSHOT</yami.shop.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
-        <spring-boot.version>3.0.7</spring-boot.version>
+        <maven.compiler.plugin.version>3.12.0</maven.compiler.plugin.version>
+        <spring-boot.version>3.2.1</spring-boot.version>
         <java.version>17</java.version>
-        <guava.version>31.1-jre</guava.version>
-        <hutool.version>5.8.15</hutool.version>
+        <guava.version>33.0.0-jre</guava.version>
+        <hutool.version>5.8.24</hutool.version>
         <jsoup.version>1.15.3</jsoup.version>
-        <poi.version>5.2.3</poi.version>
+        <poi.version>5.2.5</poi.version>
         <qiniu.version>7.12.1</qiniu.version>
         <aliyun-core.version>4.3.9</aliyun-core.version>
         <aliyun-dysmsapi.version>1.1.0</aliyun-dysmsapi.version>
-        <mybatis-plus.version>3.5.3.1</mybatis-plus.version>
-        <redisson.version>3.19.3</redisson.version>
+        <mybatis-plus.version>3.5.5</mybatis-plus.version>
+        <redisson.version>3.25.2</redisson.version>
         <transmittable-thread-local.version>2.14.2</transmittable-thread-local.version>
         <log4j.version>2.19.0</log4j.version>
-        <knife4j.version>4.0.0</knife4j.version>
+        <knife4j.version>4.3.0</knife4j.version>
         <xxl-job.version>2.4.0</xxl-job.version>
-        <spring-cloud-commons.version>4.0.1</spring-cloud-commons.version>
+        <spring-cloud-commons.version>4.1.0</spring-cloud-commons.version>
         <satoken.version>1.34.0</satoken.version>
         <fastjson.version>1.2.83</fastjson.version>
+        <mybatis-spring.version>3.0.3</mybatis-spring.version>
     </properties>
 
     <dependencyManagement>
@@ -58,6 +59,11 @@
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+            <dependency>
+                <groupId>org.mybatis</groupId>
+                <artifactId>mybatis-spring</artifactId>
+                <version>${mybatis-spring.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.aliyun</groupId>
                 <artifactId>aliyun-java-sdk-core</artifactId>
@@ -163,6 +169,7 @@
                     <source>${java.version}</source>
                     <target>${java.version}</target>
                     <encoding>${project.build.sourceEncoding}</encoding>
+                    <parameters>true</parameters>
                 </configuration>
             </plugin>
             <plugin>

+ 4 - 0
yami-shop-common/src/main/java/com/yami/shop/common/config/DefaultExceptionHandlerConfig.java

@@ -22,6 +22,7 @@ import org.springframework.validation.FieldError;
 import org.springframework.web.bind.MethodArgumentNotValidException;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.resource.NoResourceFoundException;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -72,6 +73,9 @@ public class DefaultExceptionHandlerConfig {
 
     @ExceptionHandler(Exception.class)
     public ResponseEntity<ServerResponseEntity<Object>> exceptionHandler(Exception e){
+        if (e instanceof NoResourceFoundException) {
+            return ResponseEntity.status(HttpStatus.OK).body(ServerResponseEntity.showFailMsg(e.getMessage()));
+        }
         log.error("exceptionHandler", e);
         return ResponseEntity.status(HttpStatus.OK).body(ServerResponseEntity.fail(ResponseEnum.EXCEPTION));
     }

+ 4 - 5
yami-shop-common/src/main/java/com/yami/shop/common/util/SpelUtil.java

@@ -13,7 +13,7 @@ package com.yami.shop.common.util;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import org.springframework.context.expression.MethodBasedEvaluationContext;
-import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
+import org.springframework.core.StandardReflectionParameterNameDiscoverer;
 import org.springframework.expression.ExpressionParser;
 import org.springframework.expression.spel.standard.SpelExpressionParser;
 import org.springframework.expression.spel.support.StandardEvaluationContext;
@@ -39,16 +39,15 @@ public class SpelUtil {
             return StrUtil.EMPTY;
         }
         //获取被拦截方法参数名列表(使用Spring支持类库)
-        LocalVariableTableParameterNameDiscoverer u =
-                new LocalVariableTableParameterNameDiscoverer();
-        String[] paraNameArr = u.getParameterNames(method);
+        StandardReflectionParameterNameDiscoverer standardReflectionParameterNameDiscoverer = new StandardReflectionParameterNameDiscoverer();
+        String[] paraNameArr = standardReflectionParameterNameDiscoverer.getParameterNames(method);
         if (ArrayUtil.isEmpty(paraNameArr)) {
             return spel;
         }
         //使用SPEL进行key的解析
         ExpressionParser parser = new SpelExpressionParser();
         //SPEL上下文
-        StandardEvaluationContext context = new MethodBasedEvaluationContext(rootObject,method,args,u);
+        StandardEvaluationContext context = new MethodBasedEvaluationContext(rootObject,method,args,standardReflectionParameterNameDiscoverer);
         //把方法参数放入SPEL上下文中
         for (int i = 0; i < paraNameArr.length; i++) {
             context.setVariable(paraNameArr[i], args[i]);