Spring Cloud 配置服务器不使用本地属性文件

新手上路,请多包涵

我一直在玩 github 上的 Spring Cloud 项目: https ://github.com/spring-cloud/spring-cloud-config

但是,我遇到了一些问题,让它读取本地属性文件而不是从 github 中提取属性。即使我删除了对 github 的所有引用,spring 似乎也忽略了本地文件。这里有一个类似的问题: Spring-Cloud configuration server ignores configuration properties file

但我还没有看到任何好的答案。我想知道是否有人可以指出我的例子?我想在本地设置我的属性,而不是使用任何类型的 git 存储库。我假设有人以前遇到过这个,如果某处有这样的例子,我真的很想看看它,这样我就可以朝着正确的方向前进。

原文由 user3270760 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 443
2 个回答

我所有的代码都在这里 https://github.com/spencergibb/communityanswers/tree/so27131143

源代码/main/java/Application.java

 @Configuration
@EnableAutoConfiguration
@EnableConfigServer
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

src/main/resources/application.yml

 spring:
  application:
     name: myconfigserver
  profiles:
     active: native

my:
  property: myvalue

src/main/resources/myapp.yml

 my:
  otherprop: myotherval

要获取名为 myapp 的应用程序的属性,请执行以下操作。

curl http://localhost:8080/myapp/default

 {
     "name": "default",
     "label": "master",
     "propertySources": [
          {
                "name": "applicationConfig: [classpath:/myapp.yml]",
                "source": {
                     "my.otherprop": "myotherval"
                }
          },
          {
                "name": "applicationConfig: [classpath:/application.yml]",
                "source": {
                     "spring.application.name": "myconfigserver",
                     "spring.profiles.active": "native",
                     "my.property": "myvalue"
                }
          }
     ]
}

原文由 spencergibb 发布,翻译遵循 CC BY-SA 3.0 许可协议

我能够使用 Spring 配置服务器读取苹果服务(测试微服务)的配置。

spring 配置应用程序的示例 application.yml

 spring:
    profiles:
        active: native
    cloud:
        config:
            server:
                native:
                    searchLocations: classpath:config/
server:
  port: 8888

endpoints:
    restart:
      enabled: true

将 .properties 或 .yml 文件放在 src\main\resources\config 文件夹中。确保此文件的名称应与您的微服务的 spring.application.name 匹配。

例如,如果 spring.application.name=apple-service 那么属性文件应该是 src\main\resources\config 文件夹中的 apple-service.properties

apple-service 的 bootstrap.yml 示例:

 spring:
  application:
    name: apple-service

cloud:
  config:
    uri: http://localhost:8888

原文由 rish1690 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题