DigitalHainan Spring 微服务框架脚手架与集成指南,覆盖 POM、缓存、MyBatis、认证、OSS 等核心模块。

本文档用于指导在目标项目中完成
digitalhainan-config模块集成。执行顺序:
- 先完成「3.1.2 快速集成」的全部步骤(必须)
- 根据业务需求,查阅「功能集成决策索引」选择对应路径,逐项实现
- 遇到配置问题时参考「3.1.3 配置属性参考」
- 出现异常时查阅「3.1.6 常见问题」
代码约定: 所有代码示例均包含完整
import路径和类声明,可直接用于代码生成。
digitalhainan-config 是数字海南框架的 Nacos 配置中心集成组件,提供:
digitalhainan.component.nacos.grpc-offset 配置 Nacos gRPC 端口偏移Maven 坐标:
<dependency>
<groupId>cn.com.digitalhainan</groupId>
<artifactId>digitalhainan-config</artifactId>
</dependency>前置依赖:
| 依赖 | 说明 |
|---|---|
digitalhainan-pom | 父 POM |
当前版本: 3.1.0-SNAPSHOT
<parent>
<groupId>cn.com.digitalhainan</groupId>
<artifactId>digitalhainan-pom</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent><dependencies>
<dependency>
<groupId>cn.com.digitalhainan</groupId>
<artifactId>digitalhainan-config</artifactId>
</dependency>
</dependencies>spring:
application:
name: your-service-name
cloud:
nacos:
# 配置中心
config:
server-addr: 192.168.1.100:8848
namespace: your-namespace-id
group: DEFAULT_GROUP
file-extension: yaml
# 服务发现
discovery:
server-addr: 192.168.1.100:8848
namespace: your-namespace-id| 配置键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
digitalhainan.component.nacos.grpc-offset | Integer | — | Nacos gRPC 端口偏移量(当 Nacos 2.x 的 gRPC 端口被占用时使用) |
spring:
cloud:
nacos:
config:
server-addr: 192.168.1.100:8848 # Nacos 服务地址
namespace: your-namespace-id # 命名空间 ID
group: DEFAULT_GROUP # 配置分组
file-extension: yaml # 配置文件格式
prefix: ${spring.application.name} # 配置文件名前缀
shared-configs: # 共享配置(可选)
- data-id: common.yaml
group: DEFAULT_GROUP
refresh: truespring:
cloud:
nacos:
discovery:
server-addr: 192.168.1.100:8848
namespace: your-namespace-id
group: DEFAULT_GROUP| 需求场景 | 参考章节 |
|---|---|
| Nacos 配置中心集成 | 4.1 配置中心 |
| gRPC 端口偏移 | 4.2 gRPC 偏移 |
| 早期配置读取 | 4.3 YamlConfigReader |
在 Nacos 控制台创建配置文件(Data ID: your-service-name.yaml),内容示例:
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/your_db应用启动后自动拉取 Nacos 配置,支持动态刷新(@RefreshScope)。
当 Nacos 2.x gRPC 端口(默认 9848)被占用时:
digitalhainan:
component:
nacos:
grpc-offset: 1000 # gRPC 端口偏移 1000,实际 gRPC 端口 = 9848 + 1000 = 10848package com.example.config;
import cn.com.digitalhainan.nacos.config.common.YamlConfigReader;
/**
* YamlConfigReader 使用示例
* 在 Spring 容器初始化之前读取 application.yml 中的配置
*/
public class EarlyConfigDemo {
public void readConfig() {
// 读取字符串配置
String appName = YamlConfigReader.getProperty("spring.application.name");
// 读取带默认值的配置
Integer port = YamlConfigReader.getProperty("server.port", 8080);
// 获取当前激活的 Profile
var profiles = YamlConfigReader.getActiveProfiles();
// 检查是否包含某个 Profile
boolean isDev = YamlConfigReader.hasProfile("dev");
}
}原因: Nacos 服务地址配置错误或 Nacos 未启动。 解决: 检查 spring.cloud.nacos.config.server-addr 配置。
原因: 配置文件 Data ID 与应用名不匹配,或 namespace/group 不正确。 解决: 确保 Nacos 中的 Data ID 为 {spring.application.name}.{file-extension},namespace 和 group 一致。
原因: Nacos 2.x 默认 gRPC 端口为 server-addr 端口 + 1000,可能与已有服务冲突。 解决: 配置 digitalhainan.component.nacos.grpc-offset 调整偏移量。
| digitalhainan-config | Spring Boot | Spring Cloud | JDK | 说明 |
|---|---|---|---|---|
| 3.1.0-SNAPSHOT | 3.x | 2023.x | 21 | 当前版本 |
| 3.0.0 | 3.x | 2022.x | 21 | Spring Boot 3.x |
| 2.0.0 ~ 2.1.0 | 2.x | 2021.x | 8/11 | javax 命名空间 |