qq_34853463
qq_34853463
采纳率0%
2021-03-03 09:18

springboot2.0 当使用map接收key为中文接收不到数据解决方案

spring-boot-starter-parent  2.1.14.RELEASE

1.配置文件:

test:
  nodeId:
    测试: 测试
    test: test

2.实体类接收:
@Data
@ConfigurationProperties(prefix = "test")
@Component
public class TestConfig {

    private Map<String, String> nodeId;
    
}

结果 :
配置文件中key为中文时接收不到数据

在springboot1.5 版本的时候这样写都是可以接收到数据的   

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • weixin_42534024 何必要如此 1月前

    首先用中文作为key就不符合代码习惯,用来作为字段属性更是不可能。所以这个问题研究的意义没有必要。如果真要研究可以猜测

     配置可以设置到对象的字段,但是字段是不能为中文的,所以通过反射这条路是走不通的 具体实现不知道还是得去看源码。

    点赞 1 评论 复制链接分享
  • qq_34853463 qq_34853463 1月前

    翻了官方文档中,这样写的。试过了,这样是可以的。但在springboot1.5版本中,没有这个限制

    点赞 评论 复制链接分享

为你推荐