关于java:JavaBean以及与BeanInfo的关系,它们是否相关?

JavaBean and relation with BeanInfo, are they related?

JavaBean和BeanInfo之间有什么关系吗?我阅读了各种帖子/问题和Java bean,其中提到了bean是一个遵守某些规则(私有数据成员,GETTESH),SETTHER()的正则类,实现了SerialIZabe接口…

我正在浏览"Java完全参考,第八版",并在《Java bean》一章中提到了BeanInfo。Java bean与BeanInfo有什么关系?

虽然我试图在不同的帖子中找到,但我仍然不能完全理解Java bean是如何帮助的,如何遵循一个类的一些规则(从而使它成为一个bean)使常规Java类不能做的有帮助?


TL DR;

  • 隐式
    • 吸气/ setter方法的识别性能implicitly命名公约当冰类被视为一个JavaBean。
  • 明确
    • alternatively,你可以识别那些没有性伴侣defining市一级,在BeanInfoimplements接口。
    • 在Java 9和以后,你可以使用两个有趣的annotations conveniently BeanInfo实施。

细节

这意味着originally JavaBeans规范是"A是可重复使用的软件组件,可以在一个manipulated visually生成器工具",如拖和下降的主意的健身工具。没有一件了。

好。

而不是常见的,人们使用的JavaBeans作为一个生命的方法的识别性能。例如,在《BeanItemContainervaadin 7。

好。

一个极小,JavaBean必须:

好。

  • 是可序列化的
  • 有一个没有constructor args
  • 有吸气/ setter方法("应用程序"匹配的命名(会议)

你可以定义一个JavaBean或者implicitly或没有。

好。 JavaBean命名公约

在隐式的方式定义一个JavaBean命名的冰通公约。任何与get方法出发,set,或是detected市is反射/ introspection考虑两个A和识别性能。《imaginary性质可能或可能不支持市德科工是一类的成员变量。

好。

如果一个类有PersongetEyeColorsetEyeColor方法,然后作为一个JavaBean我们认知一读写eyecolor"性质。没有一个二传手的吸气剂的性能,使只读。

好。 BeanInfo接口

在明确定义的方式一个JavaBean类冰创造另一个JavaBean类的同时你的意图。其他类的BeanInfoimplements接口。其他类最可能实际上一subclass冰的SimpleBeanInfo舱。这类的BeanInfoSimpleBeanInfoimplements接口在一个消极的人,denying信息。你重写的方法用于通大学信息方面,你想确定你的JavaBean类。

好。

你可以使用这两个类BeanInfo伙伴认同《置业(而不是使用setter命名的吸气/会议)。你可以确定一个JavaBean的其他方面。许多这些其他方面来讲是outmoded当他们两个两个作为一个JavaBean组件在一个IDE appear形式建设的工具,但你仍然可以找到一些有用的方面。

好。

"反射/ introspection设施在Java的自动检测和处理你的beaninfo类提供的元数据,关于你的JavaBean类。

好。

在Oracle教程页。

好。 beaninfo annotations

Java 9可以帮助与一些方面:(一annotations JavaBean。有没有understood他们正确使用。让你在另一个问题,如何使用新的beaninfo annotations Java 9。这是我在恨hoped allow annotating成员变量作为两个具有两个特性避免写空吸气/ setter方法,但这显然是不提供的特征(这个我不说是酸的。

好。

看到的是:beaninfo annotations 256对openjdk项目。 </P >好。 JavaBeans规范

有很多更多的冰比刚到JavaBeans置业"状eyecolor",虽然置业是当然的最普通的目的为使用JavaBeans。 </P >好。

在suggest学习《quite 1.01 readable JavaBeans规范。读《tutorial和Oracle。 </P >好。

一个技术概述,在suggest阅读这posting,JavaBeans规范colebourne泉村。 </P >好。 Bean验证

在一个相关的音符…Bean验证标准冰成为一个流行的方式到enforce DECLARE和业务规则的条件下,对数据对象的值在西安。例如,规则可能会问"眼彩色冰(a)所需的场,和必须不让空或空字符串"或"发票总必须是零或正、负无一号"。 </P >好。

在那里有过三个版本的标准(1.0,1.1进入JSR 349,&;2.0规范380分)和各种implementations。Bean验证可以被用于在客户端(指挥,JavaFX,等)或服务器的客户端。vaadin,例如,其自身的支护技术在数据输入验证作为阱为支持你堵在Bean验证实施。 </P >好。 企业JavaBeans

不要confuse JavaBeans与企业JavaBeans(EJB)。再利用"trademark JavaBean(EJB是"穷村A决定太阳的营销队伍。totally unconnected和EJB的冰成不同的从原来的JavaBeans。 </P >好。 好的。