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