如何解决springboot2.5.2中key包含下划线时如何获取yml值?
我的 application.yml 是
app:
ranking:
UNK: "[UNK]"
"ARTICLE_FEATURE_GRPC_API": "0.0.0.0:50055"
"ARTICLE_STABLE_MODEL_NAME": "article_push_stable"
"PREDICT_BATCH_SIZE": 256
我的配置类是:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "app.ranking")
public class RankingConfig {
public static String UNK;
public static String ARTICLE_FEATURE_GRPC_API;
public static String ARTICLE_STABLE_MODEL_NAME;
public static String PREDICT_BATCH_SIZE;
}
但我无法得到值,例如,RankingConfig.ARTICLE_FEATURE_GRPC_API
。
我该怎么办?
解决方法
你必须为你的属性添加 getter 和 setter。喜欢;
public void setPREDICT_BATCH_SIZE(String PREDICT_BATCH_SIZE) {
this.PREDICT_BATCH_SIZE = PREDICT_BATCH_SIZE;
}
public String getPREDICT_BATCH_SIZE() {
return PREDICT_BATCH_SIZE;
}
,
试试
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "app.ranking")
public class RankingConfig {
public static String UNK;
public static String ARTICLE_FEATURE_GRPC_API;
public static String ARTICLE_STABLE_MODEL_NAME;
public static String PREDICT_BATCH_SIZE;
//and you must have getters and setters!
}
对于 YAML 文件,我认为您不需要引号 ("")
app:
ranking:
UNK: "[UNK]"
ARTICLE_FEATURE_GRPC_API: "0.0.0.0:50055"
ARTICLE_STABLE_MODEL_NAME" "article_push_stable"
PREDICT_BATCH_SIZE: 256
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。