You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring中数字命名配置属性与@ConstructorBinding的兼容方案

解决Spring配置属性纯数字命名与Java/Kotlin变量命名冲突问题

在维护包含数百个Web服务的大型存量项目时,需为配置属性添加校验,采用@Validated、@ConstructorBinding和@ConfigurationProperties编写数据类时遇到以下问题:

  • 存在如dummy.941=http:...这类以纯数字命名的配置属性
  • Java/Kotlin语法不允许变量名以数字开头,无法直接将类变量命名为941
  • 该配置属性库为多系统共用,无法修改属性名称

可行解决方案

使用Spring提供的@Name注解(全类路径:org.springframework.boot.context.properties.bind.Name),可将纯数字命名的配置属性与合法命名的类变量绑定,示例Kotlin代码如下:

@Valid
@Name(value = "703")
val s703: S703 = S703()

该方案可正常完成属性绑定,且配合@Valid等校验注解的功能不受影响,实际使用效果良好。

内容的提问来源于stack exchange,提问作者Jebb Süffel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:43:30