我必须使用一个 REST api,它遵循所有可检索对象的通用语法:
baseUrl + domainObjectName + 限定符
例如“ http://myweb.com/api/ “城市”+“/{id}”
我为我的数据层创建了一个 BaseDao,我想在 DAO 实例化中设置每个域对象的基本 URL(baseUrl + domainObjectName)。问题是我在属性文件中定义了我的 api Base url(并希望保持这种方式),并且它在 DAO 构造函数中不可用。
这就是我所拥有的:
public abstract class BaseDao {
protected static final String ID_QUALIFIER = "/{id}";
protected String domainObjectName = "";
protected String doBaseUrl = "";
@Value("#{config['baseUrlRest']}")
public String apiBaseUrl;
public GenericDaoRestImpl(String domainObjectName) {
this.domainObjectName = domainObjectName;
this.doBaseUrl = apiBaseUrl + domainObjectName;
}
}
当我的 dao 被实例化时, apiBaseUrl 仍然为空,尽管在创建之后它确实注入了 baseUrl 属性。
有没有办法解决这个问题,比如将属性作为静态常量注入?