升级springboot版本

This commit is contained in:
chendt
2024-02-20 10:33:10 +08:00
parent dc7e423920
commit b1a90bba3c
4 changed files with 27 additions and 18 deletions

View File

@@ -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]);

25
pom.xml
View File

@@ -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>

View File

@@ -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));
}

View File

@@ -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]);