在工作学习当中遇到一个问题:在每次获取实体类对象时,每一获取的对象都一样。这样就不能完成添加的操作。自己一直以为是hibernate的缓存问题,结果调测之后并不是,之后考虑到如果浏览器每次发送的请求都一样,也会导致这个问题。在ajax url后面加上时间戳之后,问题并没有解决。最后吗,还是大神指点:Spring维护对象默认是单例模式,要改成原型。
不多说,直接上代码:
默认的bean写法是这样的,Spring默认是单例模式,这样写会出现的问题是,你每一次从Spring容器中获取user对象时,总是同一个,也就是第一次获取的那个。
当你执行两次添加操作时,在客户端打印一下tostring,你会发现两者是一样的。
解决办法:添加scope="prototype"属性,改成原型就可以了。这样每次获取的对象都是新的。