2014-01-24 155 views
3

在最近一个基于Web的Java项目中,我遇到过各种我见过基于Spring的控制器/组件实现Serializable的地方。Spring Controller/Component Implements Serializable

我很好奇,至于为什么一个控制器/组件应该不得不实施Serializable

我认为这样做是错误的做法,目前搜索任何情况实施Serializable还没有产生任何东西。我认为这违反了MVC原则,并且是非常规的。你会想保持域/业务对象从控制器/组件分开。

我想纠正代码库中的这种不良做法,但只是想确保我有这样做的理由。

任何说明/情况说明这种情况将不胜感激。

+0

听起来对我来说。你能发布代码吗? – Romski

回答

2

控制器不需要为Serializable。它们是无国籍的,只是在模型和视图之间进行调解。其他无状态组件也可以这样说。 Serializable没有任何好处。

然而,有状态模型对象通常是Serializable,因为它们有时位于HttpSession中。为了复制和持久性目的,应用服务器需要会话中的对象为Serializable

相关问题