[英]Unable to read list of user defined class from application.yml file in a Java Spring Boot project
[英]How to read from application.yml file in Java
我写了一个电子邮件程序。 但是我必须更改一些配置,所以在我的项目中我需要知道如何从 yaml 中读取我的 loginUrl
我的代码如下;
userNotificationEmail.setIsActive("F");
userNotificationEmailRepository.save(userNotificationEmail);
activationResultType.setResultCode(ActivationResultCode.SUCCESSFUL);
activationResultType.setUser(userMapper.fromUser(userEntity));
activationResultType.setLoginUrl(loginUrl);
return activationResultType;
如果你的密钥是loginUrl
(在yaml文件中),你可以在Spring组件中使用@Value
注释注入它的值。
@Value("${loginUrl}")
private String loginUrl;
如果它是二级属性,则路径为@Value("${yourFirstKey.loginUrl}")
。
有关使用Spring Boot读取YAML文件的更多文档 。
你可以在课堂上注入:
@Value("${propertie.name}")
String value;
你可以在你的类中使用@Value 来注入值。
@Value("${property.name}")
String propertyValue;
您仍然无法获得价值……也请考虑以下情况。
YML 文件:
authorization:
server:
baseUri: 'http://localhost:9090/'
使用@Value("${authorization.server.**base-uri**}")
而不是@Value("${authorization.server.**baseUri**}")
在控制器内获取 YML 值。
根据 spring 文档,这里要注意的关键点
如果您确实想使用@Value,我们建议您使用其规范形式(kebab-case 仅使用小写字母)引用属性名称。 这将允许 Spring Boot 使用与放松绑定 @ConfigurationProperties 时相同的逻辑。 例如,@Value("{demo.item-price}") 将从 application.properties 文件中获取 demo.item-price 和 demo.itemPrice 表单,以及从系统环境中获取 DEMO_ITEMPRICE。 如果您改用 @Value("{demo.itemPrice}"),则不会考虑 demo.item-price 和 DEMO_ITEMPRICE。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.