[英]Spring Boot: configuration does not load correctly my password variable from application.yml
我在使用 Spring 引導配置時遇到問題:
我的所有參數的配置都沒有正確加載。
我正在使用帶有 application-qualif.yml 配置文件的配置文件(在我的例子中為“qualif”),但它的值不會覆蓋 application.yml 值。 此行為是預期的。
我也在使用龍目島。
我的 application.yml 在這里:
mail:
login: 'login'
address: 'login@email.com'
password: 'myRealPassword'
我的 application-qualif.yml 在這里:
spring:
otherValues: ...
我這里的配置:
@Configuration
@Getter
public class SmtpConfiguration {
@Value("${mail.login}")
private String login;
@Value("${mail.address}")
private String address;
@Value("${mail.password}")
private String password;
}
當我嘗試顯示密碼時,它總是返回“123456”,但我在我的項目中找不到“123456”的任何引用。 此處應為myRealPassword 。
log.printf(Level.INFO, "Mail password: " + smtpConfiguration.getPassword());
來自 smtpConfiguration 的其他值從 application.yml 返回相同的值
2021-08-19 10:55:26.102 INFO 192494 --- [ scheduling-1] x.x.x.x.x.x.XXXScheduledTask:
Attempt to send mail using login@email.com with password 123456
控制台 output:
2021-08-19 10:48:49.572 INFO 192412 --- [ scheduling-1] x.x.x.x.x.x.XXXService:
Mail password: 123456
此代碼在 Linux env 下運行,它在我的本地計算機 (Windows) 上運行,不使用任何配置文件。
感謝您的回復。
我發現了問題。
似乎名為 MAIL_PASSWORD 的 linux env 變量存在並且等於“123456”。
如果配置沒有像這樣指定它,我不知道這會覆蓋 YAML 值:
mail:
password: ${mail.password}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.