在 Boot 2.2.0 之前,如果您使用过spring-cloud-starter并且在您bootstrap.yml设置的spring.config.nameBoot 中,将正确加载属性中指定的属性文件。从 Boot 2.2.0 开始,这不再起作用。
我已追踪到提交 d92c2f70230a6e30ccb5d5b51315062505ff74b6 中添加的这一行的重大更改
我上面描述的情况实际上是这里定义defaultProperties的一个实例。ExtendedDefaultPropertySource
该sources属性是一个复合属性,spring.config.name在本例中包含 的值。然而,在ConfigFileApplicationListener.replaceDefaultPropertySourceIfNecessary代码中只是调用.getSource构造新的defaultProperties,因此我们丢失了组合中的属性,因此spring.config.name永远不会检索该属性。
对于重现该问题的示例,您可以查看此测试。