springboot升级到2.7.0

master
chendt 3 years ago
parent 19f26c4cbc
commit b7b4ea8121

@ -23,7 +23,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.plugin.version>3.7.0</maven.compiler.plugin.version>
<spring-boot.version>2.3.12.RELEASE</spring-boot.version>
<spring-boot.version>2.7.0</spring-boot.version>
<java.version>1.8</java.version>
<guava.version>31.1-jre</guava.version>
<hutool.version>5.7.22</hutool.version>

@ -12,26 +12,8 @@ spring:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
mvc:
formcontent:
filter:
enabled: false
autoconfigure:
exclude: org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration,\
org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration,\
org.springframework.boot.autoconfigure.websocket.WebSocketAutoConfiguration,\
org.springframework.boot.autoconfigure.websocket.WebSocketMessagingAutoConfiguration,\
org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\
org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\
org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration,\
org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.TraceRepositoryAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.TraceWebFilterAutoConfiguration,\
org.springframework.boot.actuate.autoconfigure.MetricFilterAutoConfiguration
pathmatch:
matching-strategy: ANT_PATH_MATCHER
# mybaits-plus配置
mybatis-plus:
# MyBatis Mapper所对应的XML文件位置

@ -0,0 +1,55 @@
package com.yami.shop.common.config;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.ReflectionUtils;
import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider;
import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider;
import java.lang.reflect.Field;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author FrozenWatermelon
* @date 2022/4/24
*/
@Configuration
public class Swagger2Config {
@Bean
public static BeanPostProcessor springfoxHandlerProviderBeanPostProcessor() {
return new BeanPostProcessor() {
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) {
customizeSpringfoxHandlerMappings(getHandlerMappings(bean));
}
return bean;
}
private <T extends RequestMappingInfoHandlerMapping> void customizeSpringfoxHandlerMappings(List<T> mappings) {
List<T> copy = mappings.stream()
.filter(mapping -> mapping.getPatternParser() == null)
.collect(Collectors.toList());
mappings.clear();
mappings.addAll(copy);
}
@SuppressWarnings("unchecked")
private List<RequestMappingInfoHandlerMapping> getHandlerMappings(Object bean) {
try {
Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings");
field.setAccessible(true);
return (List<RequestMappingInfoHandlerMapping>) field.get(bean);
} catch (IllegalArgumentException | IllegalAccessException e) {
throw new IllegalStateException(e);
}
}
};
}
}

@ -12,8 +12,10 @@ package com.yami.shop.common.util;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
/**
@ -23,6 +25,8 @@ import java.util.concurrent.TimeUnit;
public class RedisUtil {
private static RedisTemplate<String, Object> redisTemplate = SpringContextUtils.getBean("redisTemplate", RedisTemplate.class);
public static final StringRedisTemplate STRING_REDIS_TEMPLATE = SpringContextUtils.getBean("stringRedisTemplate",StringRedisTemplate.class);
//=============================common============================
/**
@ -50,7 +54,7 @@ public class RedisUtil {
* @param key null
* @return () 0 -1
*/
public static long getExpire(String key) {
public static Long getExpire(String key) {
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
@ -60,7 +64,7 @@ public class RedisUtil {
* @param key
* @return true false
*/
public static boolean hasKey(String key) {
public static Boolean hasKey(String key) {
try {
return redisTemplate.hasKey(key);
} catch (Exception e) {
@ -80,7 +84,7 @@ public class RedisUtil {
if (key.length == 1) {
redisTemplate.delete(key[0]);
} else {
redisTemplate.delete(CollectionUtils.arrayToList(key));
redisTemplate.delete(Arrays.asList(key));
}
}
}
@ -145,11 +149,11 @@ public class RedisUtil {
* @param delta (0)
* @return
*/
public static long incr(String key, long delta) {
public static Long incr(String key, long delta) {
if (delta < 0) {
throw new RuntimeException("递增因子必须大于0");
}
return redisTemplate.opsForValue().increment(key, delta);
return STRING_REDIS_TEMPLATE.opsForValue().increment(key, delta);
}
/**
@ -159,10 +163,10 @@ public class RedisUtil {
* @param delta (0)
* @return
*/
public static long decr(String key, long delta) {
public static Long decr(String key, long delta) {
if (delta < 0) {
throw new RuntimeException("递减因子必须大于0");
}
return redisTemplate.opsForValue().increment(key, -delta);
return STRING_REDIS_TEMPLATE.opsForValue().increment(key, -delta);
}
}

@ -9,7 +9,7 @@ spring:
instanceName: clusteredScheduler
instanceId: AUTO
jobStore:
class: org.quartz.impl.jdbcjobstore.JobStoreTX
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
tablePrefix: QRTZ_
isClustered: true

@ -21,8 +21,8 @@ public class CorsConfig {
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
// configuration.addAllowedOriginPattern("*");
configuration.addAllowedOrigin("*");
configuration.addAllowedOriginPattern("*");
// configuration.addAllowedOrigin("*");
//修改为添加而不是设置
configuration.addAllowedMethod("*");
//这里很重要,起码需要允许 Access-Control-Allow-Origin

Loading…
Cancel
Save