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

如何在Spring的运行时更改属性值,第1张

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

只需远离xml配置,就快要到2017年了。

@Servicepublic class PasswordResetRequestService {@Value("${hours.expired:12}") private int hoursExpiredPassword;@Autowiredprivate PasswordResetRequestDao passwordResetRequestDao;public void setHoursExpiredPassword(int hoursExpiredPassword) {    this.hoursExpiredPassword = hoursExpiredPassword;}@Overridepublic 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;   }}

使用@Value,您将从属性文件中获取hours.expired值,如果没有值,默认值为12。您还可以在运行时调用setHoursExpired并设置新值,并将该功能向管理员公开。

这对于一次 *** 作很方便。如果您想让管理员永久更改密码的过期时间,我将在mysql或您正在使用的任何数据库中保留hours.expired值。

编辑:回答完全有效的@matt备注。如果是这种情况,则不能选择使用Java
confing。对于自定义行为,您只需将XML定义的bean自动连接到服务中,然后执行所需的任何逻辑即可。

@Autowiredprivate pl.lublin.zeto.zetoRA.services.servicesDAO.PasswordResetRequestService passwordResetRequestService;


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5461852.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存