Spring 属性 占位符默认值如何工作?

How do Spring property placeholder default values work?

我正在阅读 this 教程,但我不熟悉配置的以下部分:defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761}/eureka/

eureka:
  instance:
    leaseRenewalIntervalInSeconds: 10
  client:
    registryFetchIntervalSeconds: 5
    serviceUrl:
       defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761}/eureka/

为什么我们有 ${EUREKA_SERVICE_URL:http://localhost:8761} 而不是只有 http://localhost:8761/eureka/

看来作者想用EUREKA_SERVICE_URL作为首选值。如果未设置,将使用硬编码 url。

如果不需要,请将其删除。

也许您可以获得有关 属性 默认值 here 的更多信息。