feat:【framework 框架】spring cloud 2025 升级,支持 spring boot 3.5.4

pull/206/MERGE
YunaiV 2025-08-20 22:16:04 +08:00
parent fceaa7ae00
commit 63b4b52613
4 changed files with 188 additions and 173 deletions

View File

@ -43,7 +43,7 @@
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version> <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
<!-- maven-surefire-plugin 暂时无法通过 bom 的依赖读取(兼容老版本 IDEA 2024 及以前版本) --> <!-- maven-surefire-plugin 暂时无法通过 bom 的依赖读取(兼容老版本 IDEA 2024 及以前版本) -->
<lombok.version>1.18.38</lombok.version> <lombok.version>1.18.38</lombok.version>
<spring.boot.version>3.4.8</spring.boot.version> <spring.boot.version>3.5.4</spring.boot.version>
<mapstruct.version>1.6.3</mapstruct.version> <mapstruct.version>1.6.3</mapstruct.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>

View File

@ -17,10 +17,9 @@
<revision>2025.08-SNAPSHOT</revision> <revision>2025.08-SNAPSHOT</revision>
<flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version> <flatten-maven-plugin.version>1.6.0</flatten-maven-plugin.version>
<!-- 统一依赖管理 --> <!-- 统一依赖管理 -->
<!-- TODO @芋艿spring boot 3.5.4 和 spring cloud 当前版本不兼容,需要适配 --> <spring.boot.version>3.5.4</spring.boot.version>
<spring.boot.version>3.4.8</spring.boot.version> <spring.cloud.version>2025.0.0</spring.cloud.version>
<spring.cloud.version>2024.0.1</spring.cloud.version> <spring.cloud.alibaba.version>2023.0.3.3</spring.cloud.alibaba.version>
<spring.cloud.alibaba.version>2023.0.3.2</spring.cloud.alibaba.version>
<!-- Web 相关 --> <!-- Web 相关 -->
<springdoc.version>2.8.9</springdoc.version> <springdoc.version>2.8.9</springdoc.version>
<knife4j.version>4.5.0</knife4j.version> <knife4j.version>4.5.0</knife4j.version>
@ -46,7 +45,7 @@
<lock4j.version>2.2.7</lock4j.version> <lock4j.version>2.2.7</lock4j.version>
<!-- 监控相关 --> <!-- 监控相关 -->
<skywalking.version>9.0.0</skywalking.version> <skywalking.version>9.0.0</skywalking.version>
<spring-boot-admin.version>3.4.7</spring-boot-admin.version> <spring-boot-admin.version>3.5.2</spring-boot-admin.version>
<opentracing.version>0.33.0</opentracing.version> <opentracing.version>0.33.0</opentracing.version>
<!-- Test 测试相关 --> <!-- Test 测试相关 -->
<podam.version>8.0.2.RELEASE</podam.version> <podam.version>8.0.2.RELEASE</podam.version>
@ -72,7 +71,7 @@
<ip2region.version>2.7.0</ip2region.version> <ip2region.version>2.7.0</ip2region.version>
<bizlog-sdk.version>3.0.6</bizlog-sdk.version> <bizlog-sdk.version>3.0.6</bizlog-sdk.version>
<reflections.version>0.10.2</reflections.version> <reflections.version>0.10.2</reflections.version>
<netty.version>4.1.116.Final</netty.version> <netty.version>4.2.4.Final</netty.version>
<mqtt.version>1.2.5</mqtt.version> <mqtt.version>1.2.5</mqtt.version>
<pf4j-spring.version>0.9.0</pf4j-spring.version> <pf4j-spring.version>0.9.0</pf4j-spring.version>
<vertx.version>4.5.13</vertx.version> <vertx.version>4.5.13</vertx.version>
@ -315,6 +314,19 @@
<!-- Registry 注册中心相关 --> <!-- Registry 注册中心相关 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<exclusions>
<!-- 目的:解决 Nacos 启动的 NAMING_LOG_FILE 告警 -->
<exclusion>
<artifactId>logback-adapter</artifactId>
<groupId>com.alibaba.nacos</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- Config 配置中心相关 --> <!-- Config 配置中心相关 -->
<!-- Job 定时任务相关 --> <!-- Job 定时任务相关 -->

View File

@ -32,7 +32,7 @@
<!-- Gateway 网关相关 --> <!-- Gateway 网关相关 -->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId> <artifactId>spring-cloud-starter-gateway-server-webflux</artifactId>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -5,8 +5,9 @@ spring:
profiles: profiles:
active: local active: local
codec: http:
max-in-memory-size: 10MB # 调整缓冲区大小https://gitee.com/zhijiantianya/yudao-cloud/pulls/176 codecs:
max-in-memory-size: 10MB # 调整缓冲区大小https://gitee.com/zhijiantianya/yudao-cloud/pulls/176
# Jackson 配置项 # Jackson 配置项
jackson: jackson:
@ -27,169 +28,171 @@ spring:
cloud: cloud:
# Spring Cloud Gateway 配置项,对应 GatewayProperties 类 # Spring Cloud Gateway 配置项,对应 GatewayProperties 类
gateway: gateway:
# 路由配置项,对应 RouteDefinition 数组 server:
routes: webflux:
## system-server 服务 # 路由配置项,对应 RouteDefinition 数组
- id: system-admin-api # 路由的编号 routes:
uri: grayLb://system-server ## system-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: system-admin-api # 路由的编号
- Path=/admin-api/system/** uri: grayLb://system-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/system/**
- id: system-app-api # 路由的编号 filters:
uri: grayLb://system-server - RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: system-app-api # 路由的编号
- Path=/app-api/system/** uri: grayLb://system-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/system/v3/api-docs, /v3/api-docs - Path=/app-api/system/**
## infra-server 服务 filters:
- id: infra-admin-api # 路由的编号 - RewritePath=/app-api/system/v3/api-docs, /v3/api-docs
uri: grayLb://infra-server ## infra-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: infra-admin-api # 路由的编号
- Path=/admin-api/infra/** uri: grayLb://infra-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/infra/v3/api-docs, /v3/api-docs - Path=/admin-api/infra/**
- id: infra-app-api # 路由的编号 filters:
uri: grayLb://infra-server - RewritePath=/admin-api/infra/v3/api-docs, /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: infra-app-api # 路由的编号
- Path=/app-api/infra/** uri: grayLb://infra-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/infra/v3/api-docs, /v3/api-docs - Path=/app-api/infra/**
- id: infra-spring-boot-admin # 路由的编号Spring Boot Admin filters:
uri: grayLb://infra-server - RewritePath=/app-api/infra/v3/api-docs, /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: infra-spring-boot-admin # 路由的编号Spring Boot Admin
- Path=/admin/** uri: grayLb://infra-server
- id: infra-websocket # 路由的编号WebSocket predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
uri: grayLb://infra-server - Path=/admin/**
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: infra-websocket # 路由的编号WebSocket
- Path=/infra/ws/** uri: grayLb://infra-server
## member-server 服务 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- id: member-admin-api # 路由的编号 - Path=/infra/ws/**
uri: grayLb://member-server ## member-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: member-admin-api # 路由的编号
- Path=/admin-api/member/** uri: grayLb://member-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/member/v3/api-docs, /v3/api-docs - Path=/admin-api/member/**
- id: member-app-api # 路由的编号 filters:
uri: grayLb://member-server - RewritePath=/admin-api/member/v3/api-docs, /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: member-app-api # 路由的编号
- Path=/app-api/member/** uri: grayLb://member-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/member/v3/api-docs, /v3/api-docs - Path=/app-api/member/**
## bpm-server 服务 filters:
- id: bpm-admin-api # 路由的编号 - RewritePath=/app-api/member/v3/api-docs, /v3/api-docs
uri: grayLb://bpm-server ## bpm-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: bpm-admin-api # 路由的编号
- Path=/admin-api/bpm/** uri: grayLb://bpm-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs - Path=/admin-api/bpm/**
## report-server 服务 filters:
- id: report-admin-api # 路由的编号 - RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs
uri: grayLb://report-server ## report-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: report-admin-api # 路由的编号
- Path=/admin-api/report/** uri: grayLb://report-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/report/v3/api-docs, /v3/api-docs - Path=/admin-api/report/**
- id: report-jimu # 路由的编号(积木报表) filters:
uri: grayLb://report-server - RewritePath=/admin-api/report/v3/api-docs, /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: report-jimu # 路由的编号(积木报表)
- Path=/jmreport/**, /drag/**, /jimubi/** uri: grayLb://report-server
## pay-server 服务 predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- id: pay-admin-api # 路由的编号 - Path=/jmreport/**, /drag/**, /jimubi/**
uri: grayLb://pay-server ## pay-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: pay-admin-api # 路由的编号
- Path=/admin-api/pay/** uri: grayLb://pay-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/pay/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/pay/**
- id: pay-app-api # 路由的编号 filters:
uri: grayLb://pay-server - RewritePath=/admin-api/pay/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: pay-app-api # 路由的编号
- Path=/app-api/pay/** uri: grayLb://pay-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/pay/v3/api-docs, /v3/api-docs - Path=/app-api/pay/**
## mp-server 服务 filters:
- id: mp-admin-api # 路由的编号 - RewritePath=/app-api/pay/v3/api-docs, /v3/api-docs
uri: grayLb://mp-server ## mp-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: mp-admin-api # 路由的编号
- Path=/admin-api/mp/** uri: grayLb://mp-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/mp/v3/api-docs, /v3/api-docs - Path=/admin-api/mp/**
## product-server 服务 filters:
- id: product-admin-api # 路由的编号 - RewritePath=/admin-api/mp/v3/api-docs, /v3/api-docs
uri: grayLb://product-server ## product-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: product-admin-api # 路由的编号
- Path=/admin-api/product/** uri: grayLb://product-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/product/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/product/**
- id: product-app-api # 路由的编号 filters:
uri: grayLb://product-server - RewritePath=/admin-api/product/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: product-app-api # 路由的编号
- Path=/app-api/product/** uri: grayLb://product-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/product/v3/api-docs, /v3/api-docs - Path=/app-api/product/**
## promotion-server 服务 filters:
- id: promotion-admin-api # 路由的编号 - RewritePath=/app-api/product/v3/api-docs, /v3/api-docs
uri: grayLb://promotion-server ## promotion-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: promotion-admin-api # 路由的编号
- Path=/admin-api/promotion/** uri: grayLb://promotion-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/promotion/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/promotion/**
- id: promotion-app-api # 路由的编号 filters:
uri: grayLb://promotion-server - RewritePath=/admin-api/promotion/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: promotion-app-api # 路由的编号
- Path=/app-api/promotion/** uri: grayLb://promotion-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/promotion/v3/api-docs, /v3/api-docs - Path=/app-api/promotion/**
## trade-server 服务 filters:
- id: trade-admin-api # 路由的编号 - RewritePath=/app-api/promotion/v3/api-docs, /v3/api-docs
uri: grayLb://trade-server ## trade-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: trade-admin-api # 路由的编号
- Path=/admin-api/trade/** uri: grayLb://trade-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/trade/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/trade/**
- id: trade-app-api # 路由的编号 filters:
uri: grayLb://trade-server - RewritePath=/admin-api/trade/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: trade-app-api # 路由的编号
- Path=/app-api/trade/** uri: grayLb://trade-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/app-api/trade/v3/api-docs, /v3/api-docs - Path=/app-api/trade/**
## statistics-server 服务 filters:
- id: statistics-admin-api # 路由的编号 - RewritePath=/app-api/trade/v3/api-docs, /v3/api-docs
uri: grayLb://statistics-server ## statistics-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: statistics-admin-api # 路由的编号
- Path=/admin-api/statistics/** uri: grayLb://statistics-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/statistics/**
## erp-server 服务 filters:
- id: erp-admin-api # 路由的编号 - RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
uri: grayLb://erp-server ## erp-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: erp-admin-api # 路由的编号
- Path=/admin-api/erp/** uri: grayLb://erp-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/erp/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/erp/**
## crm-server 服务 filters:
- id: crm-admin-api # 路由的编号 - RewritePath=/admin-api/erp/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
uri: grayLb://crm-server ## crm-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: crm-admin-api # 路由的编号
- Path=/admin-api/crm/** uri: grayLb://crm-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/crm/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/crm/**
## ai-server 服务 filters:
- id: ai-admin-api # 路由的编号 - RewritePath=/admin-api/crm/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
uri: grayLb://ai-server ## ai-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: ai-admin-api # 路由的编号
- Path=/admin-api/ai/** uri: grayLb://ai-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/ai/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/ai/**
## iot-server 服务 filters:
- id: iot-admin-api # 路由的编号 - RewritePath=/admin-api/ai/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
uri: grayLb://iot-server ## iot-server 服务
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - id: iot-admin-api # 路由的编号
- Path=/admin-api/iot/** uri: grayLb://iot-server
filters: predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- RewritePath=/admin-api/iot/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - Path=/admin-api/iot/**
x-forwarded: filters:
prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀 - RewritePath=/admin-api/iot/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
x-forwarded:
prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
server: server:
port: 48080 port: 48080