POJO
Plain Ordinary Java Object,即简单的java对象。
特点
需要有一些 private 的参数,以及针对参数的 setter 和 getter 方法来访问这些参数。
不包含业务逻辑或持久逻辑,不继承或不实现任何其它Java框架的类或接口。
实例
1 /** 2 * @author jyroy 3 * POJO 4 */ 5 public class StudentPOJO { 6 private String stuid; 7 private String name; 8 private int age; 9 public String getStuid() { 10 return stuid; 11 } 12 public void setStuid(String stuid) { 13 this.stuid = stuid; 14 } 15 public String getName() { 16 return name; 17 } 18 public void setName(String name) { 19 this.name = name; 20 } 21 public int getAge() { 22 return age; 23 } 24 public void setAge(int age) { 25 this.age = age; 26 } 27 }
JavaBean
JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。
PS: 可以看我的另外一篇博客 什么是JavaBean?
特点
- 提供一个默认的无参构造函数。
- 需要被序列化并且实现了Serializable接口。
- 可能有一系列可读写属性。
- 可能有一系列的"getter"或"setter"方法。
实例
1 /** 2 * @author jyroy 3 * JavaBean 4 */ 5 public class StudentBean implements java.io.Serializable{ 6 private String firstName = null; 7 private String lastName = null; 8 private int age = 0; 9 //无参构造函数 10 public StudentBean() { 11 } 12 public String getFirstName(){ 13 return firstName; 14 } 15 public String getLastName(){ 16 return lastName; 17 } 18 public int getAge(){ 19 return age; 20 } 21 public void setFirstName(String firstName){ 22 this.firstName = firstName; 23 } 24 public void setLastName(String lastName){ 25 this.lastName = lastName; 26 } 27 public void setAge(int age) { 28 this.age = age; 29 } 30 }
二者区别
- POJO是普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件。
- 一般在web应用程序中建立一个数据库的映射对象时,我们只能称它为POJO。
- POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口。