代码-升级springboot2.7和swagger3

This commit is contained in:
khalil
2024-04-22 10:51:46 +08:00
parent 5554ebd4f7
commit bd0330f372
12 changed files with 107 additions and 91 deletions

View File

@@ -24,10 +24,4 @@ public class MyDispatcherServlet extends DispatcherServlet {
super.doService(request, response);
}
@Override
protected void doDispatch(HttpServletRequest request,
HttpServletResponse response) throws Exception {
super.doDispatch(request, response);
}
}

View File

@@ -3,6 +3,9 @@ spring:
name: admin
profiles:
active: native
main:
allow-bean-definition-overriding : true
allow-circular-references: true
cloud:
nacos:
config:
@@ -14,7 +17,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: dev
config:
activate:
on-profile: dev
cloud:
nacos:
config:
@@ -24,11 +29,11 @@ spring:
file-extension: yml
shared-dataids: application.yml,thirdpart.yml,pay.yml,database.yml,sysconf.yml,threadpool.yml
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,database.yml,sysconf.yml,threadpool.yml
jpa:
show-sql: true
---
spring:
profiles: prod
config:
activate:
on-profile: prod
cloud:
nacos:
config:

View File

@@ -3,6 +3,9 @@ spring:
name: flow-team-admin
profiles:
active: native
main:
allow-bean-definition-overriding : true
allow-circular-references: true
cloud:
nacos:
config:
@@ -14,7 +17,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: dev
config:
activate:
on-profile: dev
cloud:
nacos:
config:
@@ -26,7 +31,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,database.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: prod
config:
activate:
on-profile: prod
cloud:
nacos:
config:

View File

@@ -116,7 +116,7 @@
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>${rocketmq-spring-boot-starter.version}</version>
<version>${rocketmq-spring-boot.version}</version>
</dependency>
</dependencies>

View File

@@ -4,41 +4,50 @@ import com.accompany.common.utils.EnvComponent;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties;
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType;
import org.springframework.boot.actuate.endpoint.ExposableEndpoint;
import org.springframework.boot.actuate.endpoint.web.*;
import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier;
import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier;
import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* @author linuxea
* @date 2019/8/29 14:29
*/
@EnableSwagger2
@EnableOpenApi
@Configuration
@Slf4j
public class SwaggerAutoConfiguration {
@Autowired
private EnvComponent envComponent;
@Bean
public Docket swaggerDocket() {
Boolean onlineEnv = envComponent.getOnlineEnv();
log.info("[swagger config] 当前是否启用swagger文档地址 {}", !onlineEnv);
return new Docket(DocumentationType.SWAGGER_2)
return new Docket(DocumentationType.OAS_30)
.globalOperationParameters(getGlobalOperationParameters())
.select()
.apis(RequestHandlerSelectors.basePackage("com.accompany"))
.paths(path -> !StringUtils.contains(path, "/internal/"))
.build()
.apiInfo(new ApiInfoBuilder().title("peko接口").description("peko业务接口").build())
.enable(!onlineEnv);
@@ -54,4 +63,21 @@ public class SwaggerAutoConfiguration {
pars.add(parameterBuilder.build());
return pars;
}
@Bean
public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties, WebEndpointProperties webEndpointProperties, Environment environment) {
List<ExposableEndpoint<?>> allEndpoints = new ArrayList();
Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
allEndpoints.addAll(webEndpoints);
allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
String basePath = webEndpointProperties.getBasePath();
EndpointMapping endpointMapping = new EndpointMapping(basePath);
boolean shouldRegisterLinksMapping = this.shouldRegisterLinksMapping(webEndpointProperties, environment, basePath);
return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes, corsProperties.toCorsConfiguration(), new EndpointLinksResolver(allEndpoints, basePath), shouldRegisterLinksMapping, null);
}
private boolean shouldRegisterLinksMapping(WebEndpointProperties webEndpointProperties, Environment environment, String basePath) {
return webEndpointProperties.getDiscovery().isEnabled() && (StringUtils.isNotBlank(basePath) || ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
}
}

View File

@@ -3,13 +3,14 @@ package com.accompany.core.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
import java.util.*;
@Configuration
public class WebLocaleConfig implements WebMvcConfigurer {
public class WebLocaleConfig extends WebMvcConfigurationSupport {
public static Locale Chinese = Locale.CHINESE;
public static Locale English = Locale.ENGLISH;

View File

@@ -3,13 +3,10 @@ package com.accompany.business.config;
import com.accompany.business.interceptor.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.*;
@Configuration
public class WebInterceptorConfig implements WebMvcConfigurer {
public class WebInterceptorConfig extends WebMvcConfigurationSupport {
/**
* 自己定义的拦截器类
@@ -81,7 +78,7 @@ public class WebInterceptorConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations(
"classpath:/static/");
registry.addResourceHandler("swagger-ui.html").addResourceLocations(
registry.addResourceHandler("swagger-ui.html", "doc.html").addResourceLocations(
"classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");

View File

@@ -3,6 +3,9 @@ spring:
name: web
profiles:
active: native
main:
allow-bean-definition-overriding : true
allow-circular-references: true
cloud:
nacos:
config:
@@ -14,7 +17,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: dev
config:
activate:
on-profile: dev
cloud:
nacos:
config:
@@ -26,7 +31,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,database.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: prod
config:
activate:
on-profile: prod
cloud:
nacos:
config:

View File

@@ -20,9 +20,10 @@
<maven.compiler.target>11</maven.compiler.target>
<package.output.directory>${basedir}/target</package.output.directory>
<!-- 依赖 -->
<spring-cloud.version>2021.0.5</spring-cloud.version>
<spring-cloud-starter-bootstrap.version>3.1.8</spring-cloud-starter-bootstrap.version>
<jedis.version>3.9.0</jedis.version>
<httpclient.version>3.1</httpclient.version>
<spring-context.version>3.2.9.RELEASE</spring-context.version>
<spring.security.version>3.2.5.RELEASE</spring.security.version>
<mysql-connector-java.version>8.0.17</mysql-connector-java.version>
<servlet-api.version>3.1.0</servlet-api.version>
@@ -31,11 +32,10 @@
<fastjson.version>1.2.83</fastjson.version>
<junit.version>4.12</junit.version>
<apache.commons.version>3.12.0</apache.commons.version>
<spring-cloud.version>Hoxton.SR12</spring-cloud.version>
<qiniu.version>7.14.0</qiniu.version>
<nacos.config.version>0.2.2.RELEASE</nacos.config.version>
<okhttp.version>3.10.0</okhttp.version>
<swagger2.version>2.9.2</swagger2.version>
<okhttp.version>4.12.0</okhttp.version>
<swagger3.version>3.0.0</swagger3.version>
<aliyun-log-log4j2-appender.version>0.1.10</aliyun-log-log4j2-appender.version>
<aliyun-java-sdk-sts.version>3.0.0</aliyun-java-sdk-sts.version>
<aliyun-java-sdk-core.version>4.1.2</aliyun-java-sdk-core.version>
@@ -56,7 +56,6 @@
<sitemesh.version>2.4.2</sitemesh.version>
<jackson-mapper-asl.version>1.9.13</jackson-mapper-asl.version>
<pagehelper.version>5.1.8</pagehelper.version>
<poi.version>3.15</poi.version>
<jsoup.version>1.10.2</jsoup.version>
<validation-api.version>2.0.1.Final</validation-api.version>
<aliyun-java-sdk-dysmsapi.version>1.1.0</aliyun-java-sdk-dysmsapi.version>
@@ -75,7 +74,6 @@
<googlecode-libphonenumber.version>8.12.43</googlecode-libphonenumber.version>
<ip2region.version>2.7.0</ip2region.version>
<opencc4j.version>1.7.2</opencc4j.version>
<rocketmq-spring-boot-starter.version>2.2.3</rocketmq-spring-boot-starter.version>
<hutool.version>5.8.27</hutool.version>
<hippo4j-config-spring-boot-starter.version>1.5.0</hippo4j-config-spring-boot-starter.version>
<alipay-sdk-java.version>3.7.110.ALL</alipay-sdk-java.version>
@@ -107,6 +105,12 @@
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>${spring-cloud-starter-bootstrap.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
@@ -134,7 +138,7 @@
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>${rocketmq-spring-boot-starter.version}</version>
<version>${rocketmq-spring-boot.version}</version>
</dependency>
<dependency>
@@ -241,20 +245,8 @@
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
<artifactId>springfox-boot-starter</artifactId>
<version>${swagger3.version}</version>
</dependency>
<dependency>
@@ -366,24 +358,6 @@
<version>${commons-fileupload.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
@@ -487,6 +461,12 @@
<!-- 依赖开始 -->
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>${spring-cloud-starter-bootstrap.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
@@ -497,6 +477,11 @@
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
@@ -512,11 +497,6 @@
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
@@ -722,21 +702,6 @@
<artifactId>logging-interceptor</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
</dependency>
<dependency>
<groupId>tech.sud.mgp.auth</groupId>
<artifactId>sud-mgp-auth-java</artifactId>

View File

@@ -3,6 +3,9 @@ spring:
name: oauth2
profiles:
active: native
main:
allow-bean-definition-overriding : true
allow-circular-references: true
cloud:
nacos:
config:
@@ -14,7 +17,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: dev
config:
activate:
on-profile: dev
cloud:
nacos:
config:
@@ -26,7 +31,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,database.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: prod
config:
activate:
on-profile: prod
cloud:
nacos:
config:

View File

@@ -3,6 +3,9 @@ spring:
name: scheduler
profiles:
active: native
main:
allow-bean-definition-overriding : true
allow-circular-references: true
cloud:
nacos:
config:
@@ -14,7 +17,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: dev
config:
activate:
on-profile: dev
cloud:
nacos:
config:
@@ -26,7 +31,9 @@ spring:
refreshable-dataids: application.yml,thirdpart.yml,pay.yml,database.yml,sysconf.yml,threadpool.yml
---
spring:
profiles: prod
config:
activate:
on-profile: prod
cloud:
nacos:
config:

View File

@@ -23,7 +23,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.12.RELEASE</version>
<version>2.7.18</version>
</parent>
<build>