知识卡片

Java Bean规范服务于反射访问而非业务方法

普通读书笔记卡 · 1977.b

内容

Java Bean是一种开发规范,要求类同时满足三条件:类必须是具体且公共的、具有无参构造函数、以一致模式为内部字段提供规范的get/set方法。认真解读会发现这三条都是为支持反射访问类成员(创建实例、操作字段)而准备的前置条件,故规范并未提及业务方法的定义——框架使用Java Bean看重的其实是对象携带数据、可通过反射读写字段值的能力(如JSP的<jsp:useBean>)。POJO与Java Bean本无关系:遵循Bean规范的POJO可成为Bean,但POJO不必是Bean;不依赖框架的Bean也可算POJO,但Enterprise Java Bean一定不是POJO。发散:一个类”是不是Bean”只看它是否满足那三条反射前置条件,与它有没有丰富领域逻辑无关。

参考来源

- 位置:《解构领域驱动设计》第19章 19.1.1(源文件:_epub-src/OEBPS/032.xhtml) - 结论依据:原文分析Java Bean三条件皆为反射访问的前置条件,并厘清与POJO的关系。 - 原始内容:它们都是为支持反射访问类成员而准备的前置条件……框架使用Java Bean,看重的其实是对象携带数据的能力。