其实有一点问题。

我想切换bootstrap.yml的网址

它看起来如下:

spring:
  application:
    name: <project-name>
  profiles:
    active: dev
  cloud:
    config:
      uri: http://<git-repository>:8080
      fail-fast: false


这可行,但是我想拥有一个属性或任何可以在本地或其他环境中切换的东西。

我尝试查看此文档,但看不到对我有任何帮助。

最佳答案

我认为Spring Cloud与任何Spring应用程序都没有什么不同,因此您可以使用Spring配置文件。

建议在此答案上使用类似的内容:https://stackoverflow.com/a/22759706/6908551

您可以仅为您的云配置uri定义一个单独的.yml文件,例如cloud-config-dev.ymlcloud-config-prod.yml。然后,对于Java配置,您可能会有类似以下内容:

@Configuration
public class MyApplicationConfiguration {

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
        String activeProfile = System.getProperty("spring.profiles.active", "production");
        String ymlFilename = "cloud-config-" + activeProfile + ".yml";

        PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
        configurer.setLocation(new ClassPathResource(ymlFilename));

        return configurer;
    }
}

10-07 16:18
查看更多