spring-boot - 防止 spring boot 将属性解析为科学记数法

标签 spring-boot properties

我有一个 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
   }
}
  • 不,那不是我的实际 aws 帐户(免除我的讲座)

  • 这是我似乎无法弄清楚的...

    1) 为什么 spring 默认将账户的值插入为科学记数法?

    2) 如何配置或防止这种情况发生?

    最佳答案

    Spring 将值推断为一个数字。您可以通过引用它来强制将该值视为 YAML 配置中的字符串,即“845216416540”
    这个答案详细介绍了 YAML 约定:https://stackoverflow.com/a/22235064/13172778

    关于spring-boot - 防止 spring boot 将属性解析为科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56549903/

    相关文章:

    java - 模型映射器 - 使用自定义方法

    c# - GameObject 属性值不会在游戏重启时重置

    JavaFX:监听节点的位置变化

    java - 如何正确抛出 MethodArgumentNotValidException

    java - 使用 spring-boot-starter-data-jpa 时出现 Hibernate-core 错误

    spring-boot - Spring Boot - 重定向到不同的 Controller 方法

    java - 使用 Spring Boot 配置 Heroku Apache Kafka

    iphone - 在 iOS OpenGL 应用程序中,使用 ivar 而不是属性会显着提高性能吗?

    c# - 如何避免控件从右到左属性受容器影响

    powershell - 通过单个变量的属性链访问链接对象的数据