我们正在开发一个企业应用程序,它有许多控制器和视图,通过公共服务在它们之间共享数据。它几乎已经完成,但我们现在面临着如何保存模型对象的先前状态的障碍。
实际上有一个明确的功能,它应该在将所有数据保存到数据库之前将视图返回到原始状态。但是,由于控制器是单例,无论对模型进行哪些更改都会保留,因此无法恢复以前的状态。
现在我们想到深入克隆原始对象。但这是一个相当大的开销。如果有人能提供更好的方法来实现这一点,将不胜感激。
答案 0 :(得分:0)
只要模型对象不是实例变量并且它是threadlocal(仅在方法中使用),控制器是单例不是持久化数据的问题。
因此,只需调用一个服务类方法,该方法在您希望的任何时候使用您的首选机制持续存在。