【发布时间】:2020-12-25 17:47:38
【问题描述】:
我正在开发一个 spring 项目,我需要从应用程序 yml 文件中读取多个帐户凭据(登录名和密码)。
我已经将凭证写成这样的关联数组(我不知道有什么更好的方法):
app:
mail:
accounts:
- login: firstlogin
password: firstpassword
- login: secondlogin
password: secondpassword
然后我将这些值映射到带有@Value 注解的spring 应用程序:
@Service
public class MyClass {
@Values("${app.mail.accounts}")
private List<Map<String, String>> accounts;
...
}
但是 spring 不断抛出异常,因为它无法读取这些值。
Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException:
Could not resolve placeholder 'intelaw.mail.accounts' in value "${app.mail.accounts}"
【问题讨论】:
-
嘿,用
@ConfigurationProperties代替@Value -
在此处查看与列表类似的讨论:stackoverflow.com/questions/26699385/…
标签: java spring environment-variables yaml