JavaBean是一套约定俗成的编码规范,要求类为public、含public无参构造器、属性private、提供符合驼峰命名的public getter/setter、推荐实现Serializable接口,以支持反射识别与框架集成。
Bean在Java中不是框架,也不是语法关键字,而是一套约定俗成的编码规范,目的是让类更易被工具、容器或框架识别和操作。它本质就是一个普通Java类,但必须满足几个关键条件,才能被称为“JavaBean”。
一个类要成为标准JavaBean,必须同时满足以下几点:
getName()、setName(String);布尔类型可用isActive()代替getActive())java.io.Serializable接口,方便序列化(尤其在Web、分布式场景中几乎是必需的)这套规范本身不提供新功能,但它为自动化操作打下基础:
等标签直接使用,无需写Java代码实例化下面是一个符合全部规范的User类:
public class User implements java.io.Serializable {
private Long id;
private String name;
private boolean active;
public User() {} // 必须有无参构造
// getter/setter(注意布尔类型isXXX的写法)
public Long getId() { r
eturn id; }
public void setId(Long id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public boolean isActive() { return active; }
public void setActive(boolean active) { this.active = active; }
}
容易忽略但很关键的细节:
userName,却写getName())→ 工具无法识别该属性基本上就这些。它不复杂,但每一条都是为了“可被发现、可被操作、可被复用”服务的。写对了,后续集成各种框架和工具才顺滑。