我需要在运行时在应用程序中更改属性。 例如,我有一项服务可以发送带有resset密码的电子邮件。请求有效期为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>
我能在运行时以某种方式修改这个值?
很好的答案,完全适用于非XML配置。只要考虑一些项目是完全建立在XML上的,可能也是他的。 – Matt
这不回答问题 –
我知道它是holywar-xml或java配置或常规,但为什么xml是坏的,如果它运作良好? – vladdihoney