Skip to content

Spring Cloud 方式搭建

基于 Spring Cloud 2023.0.3 + Spring Boot 3.5.6 + Java 17 使用 JavaFree 2025 框架(v2.0.1)快速搭建企业级微服务架构。


准备工作

环境要求

工具版本推荐下载
JDK17 或以上Eclipse Temurin
Maven3.8+Apache Maven
IDEIntelliJ IDEA / EclipseIntelliJ IDEA
Nacos3.0.2+Nacos Server
MySQL5.7 / 8.0+MySQL Community
Redis5.0+Windows 版 5.0.14.1

✅ 建议使用 JDK 17+ 和 Maven 3.8+,确保兼容性。 ✅ Nacos 作为注册中心和配置中心,是 JavaFree Cloud 微服务的核心依赖。


配置 Maven(关键)

JavaFreeCloud 使用私有 Maven 仓库,需配置 settings.xml

1. 文件路径

bash
# 全局配置(推荐)
{MAVEN_HOME}/conf/settings.xml

# 用户配置
{USER_HOME}/.m2/settings.xml

⚠️ 修改前建议备份原文件。

2. 配置内容(关键片段)

将以下配置合并到你的 settings.xml 中:

xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <!-- 本地仓库 -->
  <localRepository>E:/tools/apache-maven-repository</localRepository>

  <!-- ============ 镜像配置 ============ -->
  <mirrors>
    <!-- 将阿里云作为 central 的镜像 -->
    <mirror>
      <id>aliyun-central</id>
      <mirrorOf>central,!2602177-release-16ys0R,!2602177-snapshot-tixmOn</mirrorOf>
      <name>Aliyun Central Mirror</name>
      <url>https://maven.aliyun.com/repository/central</url>
    </mirror>
  </mirrors>

  <!-- ============ 服务器认证 ============ -->
  <servers>
    <server>
      <id>2602177-release-16ys0R</id>
      <username>68ecafb91a2f30e9eb4f0a45</username>
      <password>4M3ESLdeE3(D</password>
    </server>
    <server>
      <id>2602177-snapshot-tixmOn</id>
      <username>68ecafb91a2f30e9eb4f0a45</username>
      <password>4M3ESLdeE3(D</password>
    </server>
  </servers>

  <!-- ============ 构建配置 ============ -->
  <profiles>
    <profile>
      <id>javafree-public</id>
      <repositories>
        <!-- 私有仓库 releases -->
        <repository>
          <id>2602177-release-16ys0R</id>
          <url>https://packages.aliyun.com/68ecb026ccf3499544d8ade3/maven/2602177-release-16ys0r</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>false</enabled></snapshots>
        </repository>
        <!-- 私有仓库 snapshots -->
        <repository>
          <id>2602177-snapshot-tixmOn</id>
          <url>https://packages.aliyun.com/68ecb026ccf3499544d8ade3/maven/2602177-snapshot-tixmon</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <!-- 中央仓库 -->
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>false</enabled></snapshots>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
          <id>2602177-release-16ys0R</id>
          <url>https://packages.aliyun.com/68ecb026ccf3499544d8ade3/maven/2602177-release-16ys0r</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>false</enabled></snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>2602177-snapshot-tixmOn</id>
          <url>https://packages.aliyun.com/68ecb026ccf3499544d8ade3/maven/2602177-snapshot-tixmon</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>false</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

  <!-- 激活 profile -->
  <activeProfiles>
    <activeProfile>javafree-public</activeProfile>
  </activeProfiles>
</settings>

✅ 重点说明:

  • mirrorOf 中排除私有仓库 ID,避免镜像覆盖。
  • server 提供私有仓库认证。
  • activeProfiles 确保配置生效。

创建 Spring Cloud 工程

1. 项目结构

bash
javafree-springcloud-demo/
├── src/
   └── main/
       ├── java/
   └── com/example/SpringCloudDemoApplication.java
       └── resources/
           ├── application.yml 
           └── logback-spring.xml
├── pom.xml

💡 说明:

  • application.yml:应用主配置。优先加载,用于连接 Nacos 配置中心。

2. pom.xml 配置

xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>javafree-springcloud-demo</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>javafree-springcloud-demo</name>
  <description>JavaFree SpringCloud 示例工程</description>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <javafree.cloud.version>2.0.1</javafree.cloud.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>cn.javafree.cloud</groupId>
        <artifactId>javafree-cloud-dependencies</artifactId>
        <version>${javafree.cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>cn.javafree.springcloud</groupId>
      <artifactId>javafree-spring-cloud-starter</artifactId>
    </dependency>
  </dependencies>
</project>

✅ 说明:

  • 使用 javafree-cloud-dependencies 统一管理 Spring Cloud 版本。
  • 引入 javafree-spring-cloud-starter 即集成 Nacos、OpenFeign、Gateway、Sentinel 等全套微服务组件。

3. 主启动类

java
package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 
@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudDemoApplication {
   public static void main(String[] args) { 
        SpringApplication.run(SpringCloudDemoApplication.class, args);
    }
}

4. 主配置文件

application.yml

yaml
spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        namespace: dev
        group: DEFAULT_GROUP
        timeout: 3000

      # 注册中心配置
      discovery:
        server-addr: 127.0.0.1:8848
        namespace: dev
        group: DEFAULT_GROUP
        service: ${spring.application.name}
        enabled: true

  # 👇 关键:导入多个 Nacos 配置文件(Data ID)
  config:
    import:
      - optional:nacos:javafree-local-application.yaml?refreshEnabled=true
      - optional:nacos:javafree-local-datasource.yaml?refreshEnabled=true
      - optional:nacos:javafree-local-jwt.yaml?refreshEnabled=true
      - optional:nacos:javafree-local-cache.yaml?refreshEnabled=true
      - optional:nacos:javafree-local-logging.yaml?refreshEnabled=true
      - optional:nacos:javafree-local-accesslog.yaml?refreshEnabled=true

# 建议关闭,除非调试自动配置
debug: true

# 可保留,但优先级低于 logging.yaml 或 logback-spring.xml
logging:
  level:
    root: info

好的,我们来详细说明一下 application.yml 文件中通过 spring.config.import 导入的那几个 Nacos 配置文件。

这些文件本身并不存在于你本地的项目中,而是存在于 Nacos 配置中心服务器上application.yml 文件的作用是告诉 Spring Boot 应用:“请到 Nacos 服务器上去拉取这些名字的配置文件,并将它们合并到当前应用的配置环境中”。


5. 各个配置文件的说明

核心概念:Nacos 配置中心与 Data ID

代码中 spring.config.import 列表里的每一项: optional:nacos:javafree-local-xxx.yaml?refreshEnabled=true

  • optional:nacos:: 表示这是一个可选的 Nacos 配置,即使 Nacos 服务器暂时不可用或该配置不存在,应用也能启动(只是缺少这部分配置)。
  • javafree-local-xxx.yaml: 这就是你要从 Nacos 拉取的 Data ID
  • ?refreshEnabled=true: 表示开启配置的动态刷新。当 Nacos 上的这个配置文件被修改并发布后,你的应用能自动感知并更新配置,而无需重启。

以下是几个 javafree-local-xxx.yaml 文件的典型用途和内容说明:

1. javafree-local-application.yaml

  • 作用:

    应用通用配置。

    • 这是除数据库、安全等核心模块外的其他业务或框架配置的集合。
    • 它可能包含一些应用级别的开关、第三方服务的 API Key、消息队列的地址、任务调度配置等。
  • 典型内容示例:

    yaml
    server:
      port: 8090
    
    spring: 
    
      application:
        name: javafree-cloud-web
    
      servlet:
        multipart:
          max-file-size: 512MB
          max-request-size: 512MB
          enabled: true
          file-size-threshold: 0

2. javafree-local-datasource.yaml

  • 作用:

    数据源配置。

    • 这是所有与数据库连接相关的配置。将它独立出来是最佳实践,便于在不同环境(开发、测试、生产)中快速切换数据库地址、用户名和密码。
  • 典型内容示例:

    yaml
    #此文件存到配置中心
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/javafree_demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
        username: root
        password: root 
        driver-class-name: com.mysql.cj.jdbc.Driver
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
          initial-size: 5 #初始连接数
          max-active: 10 #最大活动连接
          max-wait: 60000 #从池中取连接(没有闲置连接)的最大等待时间,-1表示无限等待
          min-idle: 5 #最小闲置数,小于min-idle连接池会主动创建新的连接
          time-between-eviction-runs-millis: 60000 #清理线程启动的间隔时间,当线程池中没有可用的连接启动清理线程
          min-evictable-idle-time-millis: 300000 #清理线程保持闲置最小时间
          validation-query: SELECT 1  #用于校验连接
          test-on-borrow: false #请求连接时是否校验,比较消耗性能,一般设置false
          test-on-return: false #归还连接时是否校验,比较消耗性能,一般设置false
          test-while-idle: true #清理线程通过validation-query来校验连接是否正常,如果不正常将从连接池中移除
          pool-prepared-statements: true #存储相同逻辑的sql到连接池的缓存中
          #      filters: stat,wall #监控统计web的statement(sql),以及防sql注入的wall
          # 关闭如上配置,可以采用自定义的filter
          filter:
            stat:
              enabled: true #状态监控-->stat
              db-type: mysql
              log-slow-sql: true  #记录超过指定时间的sql到日志中
              slow-sql-millis: 2000
            wall:
              enabled: true #防火墙-->wall
              db-type: mysql
              config:
                delete-allow: true #false禁止删除
                drop-table-allow: false #禁止删除表
                case-condition-const-allow: true #解决1=1报错
          web-stat-filter:
            enabled: true #开启监控uri,默认false
            url-pattern: /* #添加过滤规则
            exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid" #忽略过滤
          stat-view-servlet:
            enabled: true #开启视图管理界面,默认false
            url-pattern: /druid/* #视图管理界面uri
            login-username: druid #账号
            login-password: 123456 #密码
      #        allow: 127.0.0.1 白名单
      #        deny:  192.168.1.130黑名单
      jpa:
        show-sql: true # 默认false,在日志里显示执行的sql语句
        hibernate:
          ddl-auto: none #指定为update,每次启动项目检测表结构有变化的时候会新增字段,表不存在时会新建,如果指定create,则每次启动项目都会清空数据并删除表,再新建,生产环境none
          naming:
            physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    
        open-in-view: off  #尽快释放数据库连接资源,不支持jpa的懒加载
      aop:
        proxy-target-class: true  # 启用 CGLIB 代理,避免 LoadTimeWeaver 警告

3. javafree-local-jwt.yaml

  • 作用:

    JWT(JSON Web Token)安全认证配置。

    • 在微服务架构中,JWT 常用于用户身份认证和授权。将 JWT 的密钥、过期时间等敏感信息独立管理,安全性更高。
  • 典型内容示例:

    yaml
    #此文件存到配置中心
    #登录日志保存时间及清理周期
    loginlog:
      retention-days: 10   # 默认保存30天
      #cleanup-cron: 0 0 2 * * ?   # 默认每天凌晨 2 点执行
      cleanup-cron: "0 0/30 * * * ?" # 每30分钟执行,用于测试
    
    #spring security jwt相关配置
    jwt:
      #private.key: /opt/certs/app.key #本地文件路径方式
      private.key: classpath:app.key # 配置私钥 两个密钥文件通过 RsaKeyGenerator工具类生成
      #public.key: /opt/certs/app.pub #本地文件路径方式
      public.key: classpath:app.pub # 配置公钥
      private.key.password: "javafree-cloud-rsa-password"  # 配置私钥文件生成时的密码
      token.url: /auth/token # 登录接口,默认是/login,登录成功后返回token,此url需要加入白名单中
      refresh.token.url: /auth/refresh_token # 刷新token接口,默认是/auth/refresh_token,刷新token成功后返回token,此url需要加入白名单中
      refresh.token.parameter.name: refresh_token # 刷新token请求参数名,默认为refreshToken
      security:
        # 白名单配置
        white_urls:
          - /
          - /login
          - /auth/token
          - /auth/refresh_token
          - /jwtlogin
          - /auth/logout
          - /resource/*
          - /static/**
          - /register/**
          - /v3/api-docs/**
          - /api-ui.html
          - /swagger-ui/**
          - /swagger-ui.html
          - /druid/**
          - /actuator/**
          - /webjars/**
          - /**.js
          - /**.svg
          - /**.css
          - /**.png
          - /**.ico
          - /viewimages/**
          - /avatar_img/**
          - /error
          - /favicon.ico
        token:
          # JWT 在 HTTP HEADER 中默认的 KEY 默认Authorization,集成公司的jwt平台后,
          # 不要用Authorization名,也不能用驼峰,前端会自动改成首字母大写
          token_name: Javafreeauthorization
          # JWT 内容的开头字符 默认 "Bearer "(后面加了空格)
          token_head: "Bearer "
          #JWT 标准信息:签发人 - iss
          issuer: javafree-cloud
          #JWT 标准信息:过期时间 单位秒- exp,未来多长时间内过期 2小时(60*60*2=7200)
          expiration: 7200
          #JWT 标准信息:刷新token过期时间 单位秒- exp,未来多长时间内过期 1天(60*60*24=86400)
          refresh_expiration: 86400

4. javafree-local-cache.yaml

  • 作用:

    缓存配置。

    • 配置应用使用的缓存技术,如 Redis。独立出来便于管理缓存服务器地址、密码、超时时间等。
  • 典型内容示例:

    yaml
    #此文件存到配置中心
    spring:
    
      # redis 单机配置示例
      data:
        redis:
          host: 127.0.0.1          # Redis服务器地址(生产环境建议集群配置)
          port: 6379               # Redis服务端口
          password: 123456         # 访问密码(重要!生产环境必须配置)
          timeout: 2200ms          # 连接超时时间(建议 1~3 秒)
          lettuce:
            pool:
              max-active: 8      # 连接池最大连接数(根据 QPS 调整,建议值 = QPS*平均响应时间(秒) )
              max-idle: 4         # 最大空闲连接数(建议 max-active 的 5%~10%)
              min-idle: 1          # 最小空闲连接数(生产环境建议 >=5)
              max-wait: 5000ms     # 获取连接最大等待时间(网络不稳定时可适当增加)
     
    
      # 缓存全局配置
      cache:
        type: redis                # 使用 Redis 作为缓存实现
    
        # 多级缓存配置(Caffeine + Redis)
        multilevel:
          enable-redis: true # 默认关闭 Redis 相关功能,如果redis服务无法连接,会导致项目无法启动,此时可改为false (生产环境建议开启)
          time-to-live: 1h         # Redis 缓存默认存活时间(生产环境建议 30m~4h)
          use-key-prefix: true     # 启用缓存键前缀(必须与 key-prefix 配合使用)
          key-prefix: "JAVAFREENEWCACHEKEY:DEV"  # 统一前缀(建议格式:项目名:环境)
          topic: "cache:multilevel:topic"  # 缓存同步消息主题(集群环境必须唯一)
          allow-null-values: true  # 是否允许缓存空值(防穿透,建议保持 true)
    
          # 本地缓存配置(Caffeine)
          local:
            max-size: 2000         # 本地缓存最大条目数(建议内存的 0.1%~1%)
            initial-capacity: 1000 # 初始哈希表容量(建议 max-size 的 50%)
            # 过期策略(三选一)
            expire-mode: RANDOM    # 过期模式:RANDOM(推荐)/WRITE/ACCESS
            expire-after-access: 1800s  # ACCESS模式:最后访问后30分钟过期
            expire-after-write: 1800s   # WRITE模式:写入后30分钟过期
            expiry-jitter: 50      # RANDOM模式:±50% 时间偏差(防雪崩)
    
          # 熔断器配置(Resilience4j)
          circuit-breaker:
            failure-rate-threshold: 35         # 从25%提升至35%,避免短暂网络抖动触发熔断
            slow-call-rate-threshold: 30       # 从25%提升至30%,允许更多慢调用
            slow-call-duration-threshold: 500ms # 从250ms调整为500ms(需参考Redis实际P99延迟)
            sliding-window-type: time_based     # 改为时间窗口(更适合突发流量)
            permitted-number-of-calls-in-half-open-state: 30  # 增加探测请求量
            max-wait-duration-in-half-open-state: 10s          # 延长半开状态窗口
            sliding-window-size: 60            # 60秒时间窗口(原count_based 40太小)
            minimum-number-of-calls: 50        # 最小统计样本从10提升至50
            wait-duration-in-open-state: 30s   # 熔断持续时间从2.5s调整为30秒(需结合业务容忍度)
    
            # 新增监控配置
            register-health-indicator: true    # 启用健康检查端点
            event-consumer-buffer-size: 50     # 事件缓冲区大小

5. javafree-local-logging.yaml

  • 作用:

    日志级别和输出配置。

    • 配置不同包或类的日志级别(INFO, DEBUG, WARN, ERROR)。这是最常用的动态配置之一,比如线上出了问题,可以临时把某个模块的日志级别调成 DEBUG 来排查,而无需重启服务。
  • 典型内容示例:

    yaml
    #此文件存到配置中心
    logging:
      level:
        # 核心业务包
        com.yourcompany.javafree: INFO
    
        # 第三方组件调优:避免 DEBUG 泛滥
        com.alibaba.cloud.nacos: WARN         # 仅告警以上(生产推荐)
        org.springframework.web: INFO
        org.springframework.security: WARN
        org.springframework.boot: INFO
        org.springframework.cloud: INFO
        org.apache.http: INFO
        feign: INFO
       
    # 关闭 Spring Boot 内部 debug 模式(除非排查自动配置问题)
    debug: false

6. javafree-local-accesslog.yaml

  • 作用:

    访问日志(Access Log)配置。

    • 专门用于记录 HTTP 请求的详细信息,如请求时间、IP、URL、状态码、耗时等。这对于分析用户行为、监控系统性能和排查问题至关重要。
  • 典型内容示例:

    yaml
    #此文件存到配置中心
    #accesslog插件配置
    spring:
      #日志elasticsearch 配置
      elasticsearch:
        rest:
          # Elasticsearch的地址,可以是集群多个节点,逗号分隔
          uris: http://localhost:9200
          # 如果启用了安全认证(如 X-Pack),填写用户名和密码
          # username: "" # 如果Elasticsearch需要认证,请填写用户名
          # password: "" # 相应的密码
          # 连接超时时间(单位:秒)
          connect-timeout: 10
          # 套接字超时时间(单位:秒)
          socket-timeout: 30
          # 最大重试超时时间(单位:秒)
          max-retry-timeout: 60
    
    # 禁用 Elasticsearch 健康检查,避免日志使用顾时,健康检查失败
    management:
      health:
        elasticsearch:
          enabled: false
    
    # 操作日志配置
    accesslog:
      enabled: true # 是否开启日志存储 true or  false
      storage: jpa # 可选 jpa 或 elasticsearch
      retention-minutes: 1440 # 日志保留多少分钟 默认 24 小时
      cleanup-enabled: true
      #cleanup-cron: "0 0 1 * * ?" # 默认每天凌晨 1 点执行
      #cleanup-cron: "0 0/30 * * * ?" # 每30分钟执行
      cleanup-cron: "0 0 */2 * * ?" # 每2小时执行
    
      cache-request-body: false # 是否保存请求体, 为了控制是否记录请求体 默认为 false
      max-body-size: 1048576 # 超过这个值的字节数请求体,不缓存,默认 1M(1024*1024)

总结

通过将配置拆分成多个独立的 .yaml 文件并托管到 Nacos:

  1. 职责分离:每个文件只关注一个领域的配置,结构清晰,易于维护。
  2. 动态刷新refreshEnabled=true 使得修改配置后能实时生效,极大地提升了运维效率。
  3. 环境隔离:在 Nacos 中,你可以为 devtestprod 等不同 namespace 创建同名的 Data ID,应用通过切换 namespace 就能加载对应环境的配置。
  4. 安全性:敏感信息(如数据库密码、API Key)可以设置读写权限或加密存储。

你需要做的:确保在 Nacos 控制台的 dev 命名空间下,创建了这些 Data ID,并填入了正确的配置内容。应用启动时,Spring Boot 会自动将 application.yml 和这些从 Nacos 拉取的配置合并,形成最终的运行时配置。


启动 Nacos 服务

1. 下载并启动 Nacos

bash
# 下载 Nacos Server
wget https://github.com/alibaba/nacos/releases/download/3.0.2/nacos-server-3.0.2.zip
unzip nacos-server-3.0.2.zip

# 启动(单机模式)
cd nacos/bin
sh startup.sh -m standalone

访问:http://localhost:8080/nacos 默认账号:nacos / nacos

2. 在 Nacos 中创建配置

在 Nacos 控制台创建 前面介绍的几个javafree-local-xxx.yaml 文件

Nacos 控制台


启动与验证

1. 启动应用

bash
cd javafree-springcloud-demo
mvn spring-boot:run

2. 验证结果

项目地址 / 操作预期结果
Nacos 控制台http://localhost:8080/nacos在「服务列表」中看到 javafree-cloud-web
应用日志控制台输出 Registered serviceStarted
API 文档http://localhost:8090/swagger-ui.html显示 Swagger UI

核心功能模块

模块功能说明
nacos服务注册与发现 + 配置中心
openfeign声明式 HTTP 客户端,服务间调用
gateway统一网关,路由、限流、鉴权
sentinel流量控制、熔断降级、系统保护
authJWT 全链路认证,网关统一拦截
cache分布式缓存(Redis)+ 本地缓存(Caffeine)
springdoc微服务 API 文档自动聚合

常见问题

问题解决方案
服务未注册到 Nacos检查application.yml 中 nacos.discovery.server-addr 配置
配置未生效检查 shared-imports 是否正确,Nacos 中 dataId 和 group 是否匹配
Feign 调用失败检查服务名是否一致,端口是否开放
Sentinel 控制台打不开确保已引入 spring-cloud-starter-sentinel 并配置 dashboard
启动报 ClassNotFoundException安装 Lombok 插件并启用注解处理

下一步


你已成功搭建 JavaFreeCloud2025 Spring Cloud 微服务! 现在可以开始构建你的微服务集群了。


本指南适用于快速入门。如需高级配置(如多环境、灰度发布、服务网格),请参考官方文档。