Spring-Cloud-Config没有得到属性

时间:2018-02-14 18:51:55

标签: spring runtime-error spring-cloud spring-cloud-config

我无法创建属性,因为我收到此错误:

  

org.springframework.beans.factory.BeanCreationException:创建名为'configClient'的bean时出错:注入自动连接的依赖项失败;嵌套异常是java.lang.IllegalArgumentException:无法解析值“$ {user.role}”中的占位符'user.role'

我正在学习本教程:

http://www.baeldung.com/spring-cloud-configuration

我正在使用

@Value("${user.role}")

@Value("${user.role:}")

无法获取任何信息。

1 个答案:

答案 0 :(得分:0)

尝试本教程时,我遇到的问题与您相同。看来客户端无法达到服务器来解析属性“ user.role”,在我的情况下,错误是错误的属性:

spring.application.name: config-client

如果可以使用configs访问github存储库,则可以检查服务器的配置。在服务器运行的情况下,如下所示:

curl http://root:s3cr3t@localhost:9090/config-client/development/master                                                                                                                                                                         [13:26:43]
{"name":"config-client","profiles":["development"],"label":"master","version":"80d048de5faa3314429a1fce1645917786da28d6","state":null,"propertySources":[{"name":"https://gitlab.com/marcosnasp/spring-config-baeldung-tutorial.git/config-client-development.properties","source":{"user.role":"Developer"}}]}%

我同时使用了yml config和用于服务器9090的其他端口(默认情况下为客户端端口),因为我尚未在application.properties中进行配置,其外观为8080,客户端和服务器,如下所示:

客户端配置:

bootstrap.yml

spring:
  application:
    name: config-client
  profiles:
    active: development
  cloud:
    config:
      uri: http://localhost:9090
      username: root
      password: s3cr3t
      fail-fast: true

服务器配置:

bootstrap.yml

spring:
  application:
    name: delivery-config-server
  encrypt:
    key-store:
      location: classpath:/config-server.jks
      password: my-s70r3-s3cr3t
    alias: config-server-key
    secret: my-k34-s3cr3t

application.yml:

server:
    port: 9090

spring:
  cloud:
    config:
      server:
        git:
          uri: https://gitlab.com/marcosnasp/spring-config-baeldung-tutorial.git
          timeout: 10
          clone-on-start: true
  security:
    user:
      name: root
      password: s3cr3t