使用Spring 来管理bean, 创建的bean 默认是singleton。
周六的时候我们的程序出错了,我没有找到错误,一连三天我都没有找到错误,最后在同事的帮助下找到了,是Spring的单例造成的错误。我们的系统每个月1号计算上个月的佣金情况,我在程序计算的Service里面定义了一个类级别的变量,标志是不是1号,默认是false, 在计算的方法里判断如果是1号,设为true; 结果true之后就一直是true了,于是就每天都是按照1号去计算了,所以造成了错误。
看来学东西要认真,使用起来更要认真!自嘲一下!
本文分享了一次因Spring框架中bean的单例特性而导致的系统佣金计算错误经历。作者在一个服务类中使用了一个类级别的变量来标记日期是否为每月1号,并据此进行特定的业务逻辑处理。然而,由于Spring的单例机制使得该变量状态无法按预期重置,最终导致系统每天都按照1号的逻辑运行,从而引发了业务上的问题。
1355

被折叠的 条评论
为什么被折叠?



