首页 文章

Spring.application.name在Bootstrap.properties中的意义

提问于
浏览
3

您好我有一个spring cloud配置服务器设置 . 我有多个配置文件(环境) - dev,prod,test等 .

配置客户端上的bootstrap.properties的内容是 -

spring.application.name=hazelcast,kafka.
        ....
        .... including uri of config server.

现在在我的配置服务器指向的存储库中,除了特定于环境的application-dev.properties,application-prod.properties等之外还有application.properties . 我还有hazelcast-dev.properties,hazelcast-prod.properties, kafka-dev.properties,kafka-prod.properties等

当我运行配置客户端spring boot应用程序时,profiles.active设置为dev . 配置客户端能够从服务器检索以下文件 -

1.application.properties .

2.application-dev.properties .

3.hazelcast-dev.properties .

4.kafka-dev.properties .

当我使用prod配置文件激活时,将检索相应的prod文件(其中的值将添加到spring的环境中) .

现在这很有效,但我想了解它背后的逻辑 . spring.application.name是否特意适用于此?

http://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.0.0.M5/single/spring-cloud-config.html

我浏览了文档,事情并不是很清楚 .

先感谢您!

编辑-

https://cloud.spring.io/spring-cloud-static/spring-cloud.html#_application_context_hierarchies

上面链接中的Section Bootstrap应用程序上下文几乎已回答了我的问题,但希望有人能够确认它 .

1 回答

  • 5

    它有几个不同的目的 . 在注册eureka等服务注册表时,它将用作应用程序名称 . 它还用于在configserver中查找 <applicationName>[-<profile>].[properties|yml] 以及在consul或zookeeper中查找配置 .

相关问题