我有以下application.properties,其中有一个服务定义
service.user=${SERVICE_USER}
service.password=${SERVICE_PASSWORD}
service.url=http://someurl.com/api
然后在环境中指定用户和密码
SERVICE_USER=test
SERVICE_PASSWORD=test
按如下方式读入配置
@Configuration
@ConfigurationProperties(prefix = "service")
public class ServiceConfiguration {
private String url;
private String user;
private String password;
// setters and getters
}
问题是${SERVICE_PASSWORD}
似乎没有得到解决。在调试器中检查时,它正好是变量password的值。因此,我无法连接到服务,因为它给出错误“Authentication failed”。当我直接输入值时,如
service.user=test
service.password=test
service.url=http://someurl.com/api
一切都按预期运行。2代码中需要的环境变量必须直接读入吗?
2条答案
按热度按时间gg0vcinb1#
您可以参考以下配置从属性文件中读取值。
f87krz0w2#
您可以使用prefix并执行相同的操作,如下所示: