我有一个带有以下application.yml
属性文件的Spring Boot v2.1.0.RELEASE应用程序:
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)如何配置或防止这种情况发生?
答案 0 :(得分:1)
Spring将值推断为数字。您可以通过在值上用引号“ 845216416540”强制将其在YAML配置中视为字符串。
此答案详细介绍了YAML约定:https://stackoverflow.com/a/22235064/13172778