【发布时间】:2019-08-05 08:07:49
【问题描述】:
PMD 发现了我拥有的许多 Spring 组件,其中包含不可访问的成员(没有 getter 或 setter),并说 the following:
如果一个类是一个bean,或者被一个bean直接引用,或者 间接地它需要可序列化。成员变量需要 标记为瞬态、静态或在类中有访问器方法。 将变量标记为瞬态是最安全和最简单的修改。 访问器方法应遵循 Java 命名约定,即对于 名为 foo、getFoo() 和 setFoo() 访问器方法的变量应该是 提供。
我想知道,为什么 Spring 组件/bean 必须是可序列化的??
另外,它是否由 Spring 文档支持(我没有找到...)
【问题讨论】:
-
不必如此。当然,除非您将此类 bean 的实例存储在会话中,并希望会话可存储在磁盘上或分布在集群中的节点之间。
-
@xlecoustillier,这不是重复的,因为我在谈论 Spring Beans 而另一个线程在谈论 Java Beans
-
这句话和它的上下文根本没有提到 Spring,所以它含蓄地谈论了 Java Beans。
标签: spring javabeans serializable pmd spring-bean