小编Tom*_*ski的帖子

如何在Spring中更改运行时的属性值

我需要在运行时更改应用程序中的属性.例如,我有一个服务,它发送一个带有resset密码的电子邮件.请求有效期为12小时.但我想在运行时将此时间更改为24或更多.我需要为管理员提供此操作的机会.

我的属性文件有

hours.expired=12
Run Code Online (Sandbox Code Playgroud)

我的服务

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;
}
Run Code Online (Sandbox Code Playgroud)

我的春季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>
Run Code Online (Sandbox Code Playgroud)

我可以在运行时以某种方式更改此值吗?

java spring

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

spring ×1