作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 POJO 类,它在 Spring Boot 中从 application.yaml 文件中读取属性。在这里,我需要根据主题值和另一个字符串的组合将默认值设置为 groupId(在未给出时获取)。
private String topic;
@Value("${topic}_test")
private String groupId;
Could not resolve placeholder 'topic' in value "${topic}_test
最佳答案
默认值
假设您的 application.yml 文件中有这样的属性
topic: myFavoriteTopic
groupId
如果 Spring 能够使用 key
topic
加载属性来自 application.yml。如果不是,它将分配
默认值 “我的默认主题”。
@Value("${topic:my default topic}")
private String groupId;
null
作为默认值,使用:
@Value("${topic:#{null}}")
@Value("${topic:}")
String topic
多变的。对于 Spring 框架,这个变量是
未使用 在属性值检索中。当您这样做时
@Value("${topic}")
, "topic"是 Spring 将在 application.yml 中查找的键的名称。无法在运行时根据 Java 变量的值确定键的名称。原因是可以在类代码执行之前加载属性。
@Value("${topic}_test")
.在这种情况下,Spring 所做的是将“_test”连接到为属性键主题检索的值。在我的第一个例子中,
groupId
将被分配“myFavoriteTopic_test”。
关于spring-boot - 如何在spring boot的@Value注解中读取变量或连接一个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53413234/
我是一名优秀的程序员,十分优秀!