我需要在运行时更改我的应用程序中的属性。例如,我有一个服务,可以发送包含重置密码的电子邮件。请求有效期为12小时。但是我想在运行时将此时间更改为24个小时或更长时间。我需要为管理员提供此操作的机会。
我的属性文件是:
hours.expired=12
我的服务
private int hoursExpiredPassword;
public void setHoursExpiredPassword(int hoursExpiredPassword) {
this.hoursExpiredPassword = hoursExpiredPassword;
}
@Override
public ERequests checkRequest(String number, Date date) {
PasswordResetRequest findedObject = passwordResetRequestDao.getObjectByElement(PasswordResetRequest.class, "requestId", number);
if (findedObject == null){
return ERequests.BAD_REQUEST;
}else{
long result = getDateDiff(findedObject.getRequestDate(),date,TimeUnit.HOURS);
if(result >= hoursExpiredPassword){
return ERequests.EXPIRED_REQUEST;
}
}
return ERequests.CORRECT_REQUEST;
}
我的Spring XML配置
<bean id="passwordResetRequestService" class="pl.lublin.example.services.servicesDAO.PasswordResetRequestService">
<property name="passwordResetRequestDao" ref="passwordResetRequestDao"></property>
<property name="hoursExpiredPassword" value="${hours.expired}"></property>
</bean>
在运行时,我能以某种方式更改这个值吗?