Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringMVC中的模型对象状态_Spring_Spring Mvc_Model_Clone - Fatal编程技术网

SpringMVC中的模型对象状态

SpringMVC中的模型对象状态,spring,spring-mvc,model,clone,Spring,Spring Mvc,Model,Clone,我们正在开发一个企业应用程序,其中有n个控制器和视图,通过公共服务在它们之间共享数据。它几乎完成了,但是我们现在面临一个关于如何保存模型对象的先前状态的障碍 实际上,有一个明确的功能,它应该在将所有数据保存到数据库之前将视图和模型返回到原始状态。但由于控制器是单例的,所以对模型所做的任何更改都会被保留,所以无法恢复以前的状态 现在我们考虑深度克隆原始对象。但这是相当大的开销。如果有人能提供更好的方法来实现这一点,我们将不胜感激。只要您的模型对象不是实例变量且是threadlocal(仅在方法中使

我们正在开发一个企业应用程序,其中有n个控制器和视图,通过公共服务在它们之间共享数据。它几乎完成了,但是我们现在面临一个关于如何保存模型对象的先前状态的障碍

实际上,有一个明确的功能,它应该在将所有数据保存到数据库之前将视图和模型返回到原始状态。但由于控制器是单例的,所以对模型所做的任何更改都会被保留,所以无法恢复以前的状态


现在我们考虑深度克隆原始对象。但这是相当大的开销。如果有人能提供更好的方法来实现这一点,我们将不胜感激。

只要您的模型对象不是实例变量且是threadlocal(仅在方法中使用),作为单例的控制器就不会成为持久化数据的问题


因此,只要调用一个服务类方法,该方法在您希望的任何时候都可以使用您首选的机制来持久化。

Eh?您希望在过程中的某个时间点保留数据。。。那个么就这么做吧?既然控制器是单例的,那个么如何保存模型数据呢?这样对它的任何更改都将保持不变,对它的任何引用都将反映新的状态。我想我不太清楚我的问题。