ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java对象POJO和JavaBean的区别

2019-12-14 23:03:35  阅读:264  来源: 互联网

标签:java String void private POJO public JavaBean


“Plain Ordinary Java Object”,简单普通的java对象。主要用来指代那些没有遵循特定的java对象模型,约定或者框架的对象。
POJO的内在含义是指那些:
有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。
没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class  {

private String orderId;

private Integer uid;


public String getOrderId() {
return orderId;
}

public void setOrderId(String orderId) {
this.orderId = orderId;
}

public Integer getUid() {
return uid;
}

public void setUid(Integer uid) {
this.uid = uid;
}
}

2.JavaBean

JavaBean 是一种JAVA语言写成的可重用组件。JavaBean符合一定规范编写的Java类,不是一种技术,而是一种规范。大家针对这种规范,总结了很多开发技巧、工具函数。符合这种规范的类,可以被其它的程序员或者框架使用。它的方法命名,构造及行为必须符合特定的约定:

  1. 所有属性为private。
  2. 这个类必须有一个公共的缺省构造函数。即是提供无参数的构造器。
  3. 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。
  4. 这个类应是可序列化的。实现serializable接口。

因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 大专栏  java对象POJO和JavaBean的区别
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class UserInfo implements java.io.Serializable{  


private static final long serialVersionUID = 1L;

private String name;
private int age;

//无参构造器
public UserInfo() {

}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

//javabean当中可以有其它的方法
public void userInfoPrint(){
System.out.println("");
}
}

3. 两者有什么区别

  1. POJO其实是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而一些JavaBean中往往会封装一些简单逻辑。
  2. POJO主要用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。
  3. Javabean虽然数据的获取与POJO一样,但是javabean当中可以有其它的方法。

原文链接:https://www.jianshu.com/p/224489dfdec8

标签:java,String,void,private,POJO,public,JavaBean
来源: https://www.cnblogs.com/lijianming180/p/12041409.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有