- 统一使用 kenaito.config.baseUrl 替代 kenaito.config.base.url - 更新示例配置参数(appName、profile、数据库配置键名) - EnvironmentInitializer 添加从 Spring Environment 提取 kenaito.config.* 属性的逻辑 - .gitignore 添加 target 目录忽略规则
kenaito-conf-springboot3-client
配置中心 Spring Boot 3 客户端(当前使用 Spring Boot 2.7.18 + JDK 11 编译)
重要说明
当前状态:
- 项目名称为 springboot3-client,但实际使用 Spring Boot 2.7.18 + JDK 11 编译
- 代码已重构,移除了 mendmix 依赖,使用标准 Java/Spring 工具类
- 为未来升级到 Spring Boot 3 做好准备
升级到 Spring Boot 3 的步骤:
- 安装 JDK 17 或更高版本
- 修改
pom.xml:<maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <spring-boot.version>3.2.5</spring-boot.version> - 修改 Spring Framework 版本:
<version>6.1.6</version> - 重新编译:
mvn clean install
与 springboot2-client 的区别
- 移除 mendmix 依赖 - 使用标准 Java/Spring 工具类替代
- 使用 Java HttpClient - 替代 mendmix 的 HttpUtils
- 使用 Jackson - 替代 mendmix 的 JsonUtils
- 内置加密工具 - 使用 Java 原生 javax.crypto 实现 AES/DES 加密
- 更清晰的代码结构 - 便于维护和扩展
配置说明
在 application.properties 中配置:
# 启用配置中心
kenaito.config.enabled=true
# 配置中心服务地址(支持多个,逗号分隔)
kenaito.config.baseUrl=http://localhost:8080
# 应用名称
kenaito.config.appName=myapp
# 环境标识
kenaito.config.profile=dev
# 版本号
kenaito.config.version=latest
# 同步间隔(秒)
kenaito.config.sync-interval-seconds=60
# 认证 token(如果配置中心启用了认证)
kenaito.config.token=your-token-here
使用方式
Spring Boot 应用
自动生效,无需额外配置。KenaitoEnvironmentInitializer 会在 Spring Boot 启动时自动加载远程配置。
传统 Spring 应用
在 Spring 配置文件中添加:
<bean class="cn.odboy.confcenter.spring.CCPropertyPlaceholderConfigurer">
<property name="remoteEnabled" value="true"/>
</bean>
安装到本地 Maven 仓库
mvn clean install -DskipTests
依赖说明
- Spring Boot 2.7.18(optional)
- Spring Context 5.3.31(optional)
- Jackson 2.17.0(JSON 处理)
- SLF4J 2.0.12(日志)
- Java HttpClient(HTTP 请求,JDK 11+ 内置)
升级路径
当你的项目升级到 JDK 17 后,可以修改 pom.xml 中的版本配置,切换到 Spring Boot 3:
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<spring-boot.version>3.2.5</spring-boot.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.1.6</version>
</dependency>