为什么Spring bean必须是Serializable? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

PMD发现我拥有的许多Spring组件,不可访问的成员(没有getter或setter),并且说qazxsw poi:

如果一个类是一个bean,或者由bean直接或间接引用它,那么它需要是可序列化的。成员变量需要在类中标记为transient,static或者具有访问器方法。将变量标记为瞬态是最安全和最简单的修改。访问器方法应遵循Java命名约定,即对于名为foo的变量,应提供getFoo()和setFoo()访问器方法。

我想知道,为什么Spring组件/ bean必须是Serializable?

此外,它是由Spring文档备份(我没有找到...)

spring javabeans serializable pmd spring-bean
1个回答
0
投票

我不记得将我的Spring组件的“all”写为Serializable,我不确定它们应该是什么。

但是,可以存储在数据库中的数据组件以及可以在网络上传输的组件必须是。这是Spring风格Java Bean简单POJO的权衡之一。

在过去,JEE Java Beans(又名EJB)必须实现许多功能才能由应用程序容器管理。 Spring出现了,作为一个轻量级的应用程序容器并改变了这一切。 Spring管理简单的POJO,所以我想让它可序列化并不是太糟糕的权衡。

© www.soinside.com 2019 - 2024. All rights reserved.