为什么Spring Boot @Value将属性值读取为1而不是001?

时间:2019-02-27 01:48:14

标签: spring-boot properties

我在homework.directory中有一个值为001的属性application.yml,例如:

homework:
    directory: 001

但是当我使用@Value将此值注入到String变量中时,我得到了1而不是001。下面是我的代码。

@SpringBootApplication
public class PropertyTest {
    @Value("${homework.directory}")
    String directory;

    public static void main(String[] args) {
        ApplicationContext container = SpringApplication.run(PropertyTest.class);
        PropertyTest test = container.getBean(PropertyTest.class);
        System.out.println(test.directory);
    }
}

谢谢!

编辑:我将值从001更改为"001",打印后的值正确。我猜想Spring Boot会将数字字符串评估为数字,然后忽略前缀0。我说的对吗?

1 个答案:

答案 0 :(得分:0)

我猜是yaml会将它们视为八进制。如果您在.properties中有配置,我想您不需要这样做。