java - 从实体中的属性文件中读取
问题描述
我的实体中有一个属性 expiryDate。我想当我从这个实体创建一个实例时,我设置属性 expiryDate 的值。该值在 application.yml 文件中。我Properties.getProperty
在构造中使用过,但没有用
应用程序.yml:
application:
token:
expiredIn: 1440
令牌实体:
public abstract class Token implements Serializable {
@Id
private UUID id;
private int expiryIn;
public Token() {
this.expiryIn= Properties.getProperty("application.token.expiredIn");
}
}
#更新
我用过@Value
但过期的值总是0
public abstract class Token implements Serializable {
@Id
private String id;
private Date expiryDate;
@Value("${application.token.expiredIn}")
private static int expiration;
public Token() {
this.expiryDate = calculateExpiryDate(expiration);
}
private Date calculateExpiryDate(final int expiryTimeInMinutes) {
final Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(new Date().getTime());
cal.add(Calendar.MINUTE, expiryTimeInMinutes);
return new Date(cal.getTime().getTime());
}
}
解决方案
尝试:
public abstract class Token implements Serializable {
@Id
private UUID id;
@Value("${application.token.expiredIn}")
private int expiryIn;
}
@Value
将从application.yml
文件中获取值并将其注入expiryIn
.
推荐阅读
- reactjs - mapStateToProps 的状态参数是一个调度函数而不是存储数据
- python - 如何在 Python 中制作多线程程序
- python - 如何从文件中的每一行获取第二个和第四个单词
- sql-server - 将相同的组 ID 分配给具有相同值的 ID - 递归 sql 查询
- jsplumb - 如何更改 JsPlumb 中的源锚点起始位置?
- amazon-web-services - 在 Cloudformation 中获取 AutoScaling 组
- c++ - 我似乎无法让他的 c++ 脚本在某一时刻不返回 0
- git - React native - 哪些文件要添加到 GIT?
- ionic-framework - 如何更改 ionic 3 标签的大小和颜色?
- orange - 橙色 3:使用 Preprocess Widget 预处理 TRAIN 集时如何转换 TEST 集