Java小白入门 - JavaBean

JavaBean概念
JavaBean并不是什么新技术,它只是一个标准,如果一个Java类符合下列3条规则,那么我们可以称该类为一个JavaBean,
- 类的所有属性定义为private,并定义对应属性的getter/setter方法;
- 定义public无参构造函数;
- 实现Serializable接口。
以上3条就是JavaBean的规则。说起来,JavaBean只是一个简单的约定,不过在java中,很多复杂的功能和库都依赖JavaBean技术。
上述3条JavaBean的规则,
说到Serializable
接口,官方文档作了如下解释,
如果一个类实现了
java.io.Serializable
接口,则这个类就开启了可序列化的功能。如果类没有实现Serializable
接口,那么这个类就不能获取到任何序列化或反序列化的状态值。
另外需要保证,一个可序列化的类的各个属性本身也是可序列化的。Serializable
接口内并没有任何的方法或属性,它仅仅用来标识实现该接口的类具有可序列化的功能。
JavaBean代码
下面的代码,定义了一个JavaBean,
public class Employee implements Serializable {
// 1. 实现Serializable接口
// 2.1 私有属性和getter/setter
private int id;
private String name;
private int salary;
// 3. public修饰的默认构造函数
public Employee() {
}
public Employee(String name, int salary) {
this.name = name;
this.salary = salary;
}
// 2.2 私有属性和getter/setter
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
JavaBean的作用以及它存在的意义
使用JavaBean有什么好处呢?笔者觉得它的初衷就是为了方便传递数据,做一个现实世界的类比,可以将JavaBean理解为一辆货车,它是在Java端和Web页面进行数据传递的载体。你当然也可以单独传递每个变量,也可以使用集合传递,但是JavaBean可以使传递的数据更具有可读性,方便开发时明确变量的意义,也可使其他阅读你代码的人能明白你的意图。
如果把JavaBean类与数据库联合使用,一张表使用JavaBean类,可以使你的代码更加简洁高效,易于理解,所以现在大多数框架都会使用这种机制。
笔者从事于iOS开发,比较熟悉经典的MVC设计模式,MVC对系统中的角色分类为Model, View, Controller,对比一下,JavaBean就是Model。所以不要被它的专业术语所迷惑,JavaBean其实就是用来封装数据的,只是它规定了3条通用的规则,这样更加方便不同的人阅读、理解。
参考链接
公众号
微信扫描下方图片,欢迎关注本人公众号foolishlion,
