簡體   English   中英

Spring 引導:配置未正確加載我的密碼變量來自 application.yml

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM