我认为,我理解“Bean”是一个具有财产和getters/setter的Java-class。据我所知,它相当于C结构。这是真的吗?
此外,JavaBean和常规类之间是否存在真正的语法差异?是否有特殊定义或接口?
基本上,为什么有一个术语?
Serializable接口是什么意思?
我认为,我理解“Bean”是一个具有财产和getters/setter的Java-class。据我所知,它相当于C结构。这是真的吗?
此外,JavaBean和常规类之间是否存在真正的语法差异?是否有特殊定义或接口?
基本上,为什么有一个术语?
Serializable接口是什么意思?
当前回答
要理解JavaBean,您需要注意以下几点:
JavaBean是概念性的东西,不能表示一类特定的东西
JavaBean是一种开发工具,可以在可重用软件组件的操作中可视化
JavaBean基于SunJavaBeans规范,可以是可重用的组件。它最大的特点是可重用性。
其他回答
关于问题的第二部分,序列化是一种持久性机制,用于将对象存储为一系列带符号的字节。不太正式地说,它存储对象的状态,以便以后可以通过反序列化来检索它。
举例说明。
1.导入java.io.Serializable
关于序列化,请参阅文档。
2.私人领域
字段应该是私有的,以防止外部类轻易修改这些字段。通常使用getter/setter方法,而不是直接访问这些字段。
3.施工人员
没有任何参数的公共构造函数。
4.吸气器/设置器
用于访问和修改私有字段的Getter和setter方法。
/** 1. import java.io.Serializable */
public class User implements java.io.Serializable {
/** 2. private fields */
private int id;
private String name;
/** 3. Constructor */
public User() {
}
public User(int id, String name) {
this.id = id;
this.name = name;
}
/** 4. getter/setter */
// getter
public int getId() {
return id;
}
public String getName() {
return name;
}
// setter
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
}
根据维基百科:
类必须具有公共默认构造函数(没有参数)。这允许在编辑和激活框架内轻松实例化。根据标准命名约定,类财产必须可以使用get、set、is(可以用于布尔财产而不是get)和其他方法(所谓的访问器方法和赋值器方法)进行访问。这允许在框架内轻松地自动检查和更新bean状态,其中许多框架包括各种类型财产的自定义编辑器。setter可以有一个或多个参数。该类应该是可序列化的。(这允许应用程序和框架以独立于VM和平台的方式可靠地保存、存储和恢复bean的状态。)
有关详细信息,请单击此链接。
实际上,Beans只是方便使用的对象。序列化它们意味着能够容易地持久化它们(以易于恢复的形式存储)。
现实世界中Beans的典型用法:
简单可重用对象POJO(纯旧Java对象)可视对象Spring使用Beans处理对象(例如,需要在会话中序列化的User对象)EJB(Enterprise Java Beans),更复杂的对象,如JSF Beans(JSF是过时的技术)或JSP Beans
因此,实际上,Bean只是一种约定/标准,它期望Java对象具有某种行为(序列化),并以某种方式对其进行更改(财产的setter)。
如何使用它们,只是你的发明,但我上面列举的最常见的情况。
JavaBeans是遵循极其简单的编码约定的Java类。你所要做的就是
实现java.io.Serializable接口-保存对象使用公共空参数构造函数-实例化对象提供公共getter/setter方法,以获取和设置私有变量(财产)的值。