这个名字真的把我抛弃了。我希望有人能解释它的方式,我不会忘了:)什么是“Java Bean”?
回答
任何遵循特定约定的可序列化Java类(实现java.io.Serializable):无参数构造函数,以及可通过get/set /访问的属性。
这个想法是让它可预测,以便通过反射自动发现属性等 - 对工具和框架开发有很大的帮助。
豆类不构成非常优雅的面向对象设计,因为它本质上是一个没有任何行为的数据结构,它完全暴露了它的内部。请参阅域驱动设计:http://en.wikipedia.org/wiki/Domain-driven_design和http://domaindrivendesign.org/resources/what_is_ddd 也就是说,大多数设计依赖于类似bean的类来表示它们的模型所以这是接近这个事实上的标准方式。 – 2009-12-29 09:18:31
不遵守DDD并不意味着它不是“优雅的OO设计”。这不像Eric Evans拥有物体的概念。事实是,如果你想创建一个数据网格(一个普通的,可以说不是优雅的GUI),而不是让你的域对象意识到它,属性就像它得到的那样优雅。 – fdreger 2011-01-17 22:11:14
根据定义或惯例,JavaBean中没有任何东西表示它们是“没有任何行为的数据结构”。实际上,有一个[标准接口](https://docs.oracle.com/javase/7/docs/api/java/beans/AppletInitializer.html),它有助于实例化“也是Applets的JavaBean”,我想我们都可以同意Applets有行为! – Ssswift 2017-05-12 22:15:29
http://en.wikipedia.org/wiki/JavaBean
的JavaBeans是为Java可重用的软件组件,可以直观地在构建工具进行操作。实际上,它们是用符合特定约定的Java编程语言编写的类。它们用于将许多对象封装到单个对象(bean)中,以便它们可以作为单个bean对象而不是多个单独对象传递。 JavaBean是一个Java对象,它是可序列化的,有一个空的构造函数,并允许使用getter和setter方法访问属性。
alt text http://www.javalobby.org/articles/j2me-in-a-nutshell/CoffeeBeanSingle.jpg
艾斯科,当问题是这样简单时,我没有看到引用维基百科的伤害。 – Sampson 2009-12-29 15:03:08
一个Java bean是一类是可序列化,有一个无参数的构造,并且使用吸气剂和setter方法其成员字段。它用于Java企业应用程序来存储业务逻辑数据。
Sun's JavaBean Tutorial says...
JavaBeans的™架构基于一个组件模型,其使开发者能够>创建软件单元调用的组件。组件是独立的,可重用的软件单元,可以使用可视化应用程序生成器工具直观地将它们组合到复合组件,小程序,应用程序和小服务程序中。 JavaBean组件被称为bean。
一组API描述特定语言的组件模型。 JavaBeans API规范描述了JavaBeans组件体系结构的核心详细阐述。
豆是动态的,他们可以改变或定制。通过构建器工具的设计模式,您可以使用bean的Properties窗口来自定义bean,然后使用可视化操作保存(保留)bean。您可以从工具箱中选择一个bean,将其放入表单中,修改其外观和行为,定义其与其他bean的交互,并将其与其他bean结合到一个applet,应用程序或新bean中。
如果您使用过Swing的'按钮',那么您已经使用了一个组件(可见的JavaBean)。您可以使用开发人员工具(如NetbeansIDE)更改Bean的可用'属性'。 NetBeans使用一种叫做“内省”发现哪个的JavaBean 性质可以由编码器/用户(例如名,文本标题和一个Swing按钮JavaBean组件对准)进行修改。你也可以保存它的状态(IDE/Beans开发者可以使用'序列化'来做到这一点),以便再次使用你最喜欢的设置。
JavaBeans不需要可见(如摆动组件)。当有人点击表格上的“确定”按钮时,您可以创建自己的JavaBean来加密文本框中的文本。您看不到您自定义的JavaBean,但其他开发人员可以在您的代码中重复使用您的“加密”JavaBean,并进行一些允许公开的“属性”更改(即encryption-type =“blowfish”)。
问候, SteJav
的JavaBeans是写在java.The组件可以配置和连接使用,导致在Java任何类助洗剂tools.Three关键性能成为一个JavaBean可重用软件组件是
1.Class is serializable
2.class has a 0 argument constructor
3.class has getter and setter methods for data members
下面是一个简单的类,它是符合成为一个JavaBean
import java.io.*;
public class Student implements Serializable {
private String name = null;
//0 argument constructor
public Student() {
}
//getter method
public String getName() {
return name;
}
//settor method
public void setName(final String name) {
this.name = value;
}
}
一个JavaBean是一种Java对象,下面的编程约定满足:
- 的JavaBean类必须实现Serializable接口
- 的JavaBean类必须有一个无参数的构造函数应该是公共
- 所有JavaBean的属性必须有公共setter和getter方法设置并获取所有的bean属性。
- 所有的JavaBean实例变量都应该是私有的,只能由Getter和setter访问。
- 1. Java Bean Class的缺点是什么?
- 2. Java Bean绑定的状态是什么?
- 3. 什么是CDI bean?
- 4. ICEfaces JSF Bean和Spring Bean,VariableResolver是什么?
- 5. 什么是非视觉bean?
- 6. 为什么Java Bean必须是可序列化的?
- 7. 什么是java spring中的枚举类的bean id?
- 8. 什么是方法getCustomerID()的Java Bean属性名称?
- 9. 什么是Java
- 10. 什么是Java
- 11. 为什么我的bean是空的?
- 12. JavaFX bean与属性 - 为什么都是?
- 13. 什么是spring bean的bean ID实现了一个接口
- 14. 什么是Java中
- 15. 什么是Java中
- 16. 什么是用java
- 17. 什么是Java中
- 18. java中'...'是什么?
- 19. Java,std是什么?
- 20. 什么是Java Universe?
- 21. 什么是outData.writeInt()在Java中做什么?
- 22. 是java bean和java pojo相同吗?
- 23. 在RESTful API中合并两个Java bean的最佳方式是什么?
- 24. 什么是Java bean的约定,并实现了像Comparable这样的接口?
- 25. 什么是Java EE中的Web组件?
- 26. SOA是否可以是Java Bean?
- 27. java中的lvmid是什么?
- 28. 什么是Java中的StampedLock?
- 29. 什么是在Java 8
- 30. 什么是Java“= +”运算符?
http://en.wikipedia.org/wiki/JavaBean – 2009-12-29 05:30:13
问题可以扩展到 - 为什么“bean”的名称为JavaBean。他们如何拥有任何属性来“豆”?不确定它会不会增加问题关闭的可能性,并说“与编程无关” – Xinus 2009-12-29 05:39:51
为什么Sun在销售JavaBeans时总是显示咖啡豆?还有为什么要推销Java的“茶杯”。 – Xinus 2009-12-29 05:48:30