我有一个 Spring Boot v2.1.0.RELEASE 应用程序,其中包含以下 application.yml
属性文件:
example:
aws:
account: 845216416540
sqs:
endpoint: https://sqs.us-west-2.amazonaws.com/${example.aws.account}
然后我使用这样的属性:
@Component public class Example {
@Value("${example.aws.sqs.endpoint}")
private String endpoint;
public void test()
{
System.out.println(endpoint);
// prints -> https://sqs.us-west-2.amazonaws.com/8.4521641654E10
}
}
这是我似乎无法弄清楚的...
1) 为什么 spring 默认将账户的值插入为科学记数法?
2) 如何配置或防止这种情况发生?
最佳答案
Spring 将值推断为一个数字。您可以通过引用它来强制将该值视为 YAML 配置中的字符串,即“845216416540”
这个答案详细介绍了 YAML 约定:https://stackoverflow.com/a/22235064/13172778
关于spring-boot - 防止 spring boot 将属性解析为科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56549903/