如何解决从属性文件加载静态变量值
我有一个类,用于存储 API 的不同端点。该类如下所示:
public class APIEndpoints {
public static String LOG_IN = "/api/auth/login";
public static String LOG_OUT= "/api/auth/logout";
public static String GET_INSTANCE ="/api/{objectID}/instances?offset={offset}&limit{limit}";
public static String getInstance(String reportID,int offSet,int limit){
return GET_INSTANCE.replace("{reportID}",reportID)
.replace("{offset}",String.valueOf(offSet))
.replace("{limit}",String.valueOf(limit));
}
}
我希望端点 URL(例如“api/auth/login”)是从文件加载的,例如 endpoints.properties。
我正在使用 SpringBoot,但它不允许在静态变量上注入值。
解决这个问题的“最”优雅的解决方案是什么?你会如何处理它?
谢谢。
解决方法
您可以使用 @Value
注释访问它,如下所示
@Value("${your.property.name}")
private String property;
并且在您的 endpoints.properties
文件中,您必须像这样定义它
your.property.name=propertyValue
,
问题已经回答:link
不推荐使用静态@Value 字段,但您可以这样做:
@Value("${url}")
public void setUrl(String url) {
APIEndpoints.url = url;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。