Spring 启动应用程序未从 Spring 云配置服务器读取属性值
Spring Boot application not reading properties value from Spring Cloud Config Server
我已经配置了一个 Spring 云配置服务器,它从我们的 git 存储库中提取应用程序值。我可以通过浏览 spring 云 url [http://localhost:8012/XXXAPIConfigServer/default] 来确认它正在正确获取值
现在在我的客户端微服务 (users-ws) 中,我添加了以下依赖项和配置
bootstrap.yml
spring:
cloud:
config:
uri: http://localhost:8012
name: XXXAPIConfigServer
profiles:
active: default
application.yml
jwt:
secretKey: v++?c2HNyw^Eq#Ba=nFTYNRuSF1bKx
prefix: Bearer
expirationAfterDays: 1
当我 运行 客户端用户服务时,我没有得到 expirationAfterDays
值 2
,而是 1
。
此外,我正在通过调用 jwtclass 读取那些 jwt 值
JwtConfig
package com.company.abc.api.users.configuration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
@Configuration
@ConfigurationProperties(prefix = "jwt")
public class JwtConfig {
private String secretKey;
private String prefix;
private int expirationAfterDays;
private String loginUrl;
public JwtConfig() {}
public String getSecretKey() {
return secretKey;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
public int getExpirationAfterDays() {
return expirationAfterDays;
}
public void setExpirationAfterDays(int expirationAfterDays) {
this.expirationAfterDays = expirationAfterDays;
}
public String getLoginUrl() {
return loginUrl;
}
public void setLoginUrl(String loginUrl) {
this.loginUrl = loginUrl;
}
public String getAuthorizationHeader() {
return HttpHeaders.AUTHORIZATION;
}
}
这是来自客户端api用户服务的日志文件:(https://justpaste.it/8aeop)
我找到了导致问题的原因。我有与 Zuul API 网关相同的 bootstrap.yml 配置,我注意到我使用的是以下版本:
spring-boot-starter-parent => 2.3.6.RELEASE
sprint-cloud.version => Hoxton.SR9
我在用户 Web 服务中使用的位置(不工作)
spring-boot-starter-parent => 2.4.0
sprint-cloud.version => 2020.0.0-SNAPSHOT
我已经配置了一个 Spring 云配置服务器,它从我们的 git 存储库中提取应用程序值。我可以通过浏览 spring 云 url [http://localhost:8012/XXXAPIConfigServer/default] 来确认它正在正确获取值
现在在我的客户端微服务 (users-ws) 中,我添加了以下依赖项和配置
bootstrap.yml
spring:
cloud:
config:
uri: http://localhost:8012
name: XXXAPIConfigServer
profiles:
active: default
application.yml
jwt:
secretKey: v++?c2HNyw^Eq#Ba=nFTYNRuSF1bKx
prefix: Bearer
expirationAfterDays: 1
当我 运行 客户端用户服务时,我没有得到 expirationAfterDays
值 2
,而是 1
。
此外,我正在通过调用 jwtclass 读取那些 jwt 值 JwtConfig
package com.company.abc.api.users.configuration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
@Configuration
@ConfigurationProperties(prefix = "jwt")
public class JwtConfig {
private String secretKey;
private String prefix;
private int expirationAfterDays;
private String loginUrl;
public JwtConfig() {}
public String getSecretKey() {
return secretKey;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
public String getPrefix() {
return prefix;
}
public void setPrefix(String prefix) {
this.prefix = prefix;
}
public int getExpirationAfterDays() {
return expirationAfterDays;
}
public void setExpirationAfterDays(int expirationAfterDays) {
this.expirationAfterDays = expirationAfterDays;
}
public String getLoginUrl() {
return loginUrl;
}
public void setLoginUrl(String loginUrl) {
this.loginUrl = loginUrl;
}
public String getAuthorizationHeader() {
return HttpHeaders.AUTHORIZATION;
}
}
这是来自客户端api用户服务的日志文件:(https://justpaste.it/8aeop)
我找到了导致问题的原因。我有与 Zuul API 网关相同的 bootstrap.yml 配置,我注意到我使用的是以下版本:
spring-boot-starter-parent => 2.3.6.RELEASE
sprint-cloud.version => Hoxton.SR9
我在用户 Web 服务中使用的位置(不工作)
spring-boot-starter-parent => 2.4.0
sprint-cloud.version => 2020.0.0-SNAPSHOT