“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对象POJO和JavaBean的区别的更多相关文章

  1. Java对象 POJO和JavaBean的区别

    转载自https://www.jianshu.com/p/224489dfdec8 这篇博客很通俗易懂的讲明白了什么是POJO,对于刚开始学开发做java项目的菜鸟来说,很有帮助,网课老师是不会讲这些 ...

  2. Java的POJO和JavaBean的区别

    POJO Plain Ordinary Java Object,即简单的java对象. 特点 需要有一些 private 的参数,以及针对参数的 setter 和 getter 方法来访问这些参数. ...

  3. POJO是什么,javabean是什么,以及POJO与javabean的区别

    POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称.使用POJO名称是为了避免和EJB混淆起来, 而 ...

  4. Pojo和JavaBean的区别(转载)

    OJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象. 2005年11月时,“POJO”主要用来指代那些没用遵从特定的Java对象模型,约 ...

  5. POJO和Javabean的区别:

    pojo:存粹java类,不继承,不实现.(不受限制的java类),多用于指数据库的映射对象javaBean:可复用组件,由容器(tomcat)创建,因此应具有无参构造器,不能跨进程访问,通常要无方法 ...

  6. POJO 与 JavaBean 的区别 !

    $说明: POJO :全称(Plain Old Java Object)翻译为“普通旧Java对象” 通俗理解为“一个简单的java对象”. JavaBean: 是一种JAVA语言写成的可重用组件,是 ...

  7. POJO与javabean的区别

    POJO 和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻译成:普通 ...

  8. pojo和JavaBean的区别

    javabean可以处理业务,pojo不可以. pojo就是get 和set 例如: Student{ id; name; get();... set();...} javabean可以实现业务逻辑 ...

  9. java对象比较==和equals的区别

    转载:http://blog.csdn.net/bluesky_usc/article/details/51849125 1值比较 即内容相同,我们就认为是相等的.比如:int i=5:int j = ...

随机推荐

  1. 01.Java安装及环境变量的设置

    1.下载 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.mac上安装及配 ...

  2. J. Distance on the tree(树链剖分+线段树)

    贴贴大佬的计蒜客题解: The Preliminary Contest for ICPC China Nanchang National Invitational and International ...

  3. 基础服务系列-Jupyter Install TensorFlow

    TensorFlow is a deep learning framework that provides an easy interface to a variety of functionalit ...

  4. linux版本neo4j安装配置教程

    https://blog.csdn.net/weixin_44293236/article/details/89467489

  5. Apsara Clouder云计算专项技能认证:云服务器基础运维与管理

    一.三个理由拥抱云服务器 1.课程目标 如何拥有一台属于自己的ECS 出现一些问题的时候,对这台云服务器进行很好的管理 如何保证一台云服务出现问题的时候提前进行防范 2.云服务的定义 云服务器(Ela ...

  6. iOS 10 新增plist文件属性

    大概统计了一下需要加的一些字段列在下面: NSContactsUsageDescription -> 通讯录 NSMicrophoneUsageDescription -> 麦克风 NSP ...

  7. python,PyAutoGUI,设置鼠标键盘自动操作

    三个文件需在同一个文件夹下面,文件夹的位置无要求. 1.第一个文件,trial.py.python代码调用PyAutoGUI操作鼠标键盘,可以通过修改start_time和end_time来确定程序自 ...

  8. 47)PHP,数据库多表连接

    https://www.w3cschool.cn/mysql/56ik1sqv.html

  9. VMware安装 RHEL安装完后,选择桥接模式如何与主机网络连通

    .查看主机的ip与网关,dns配置,如图 2.在linux系统中打开cd  /etc/sysconfig/network-scripts/  #进入网络配置文件目录 vi  ifcfg-eno1677 ...

  10. LeetCode No.97,98,99

    No.97 IsInterleave 交错字符串 题目 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的. 示例 输入: s1 = "aabcc&qu ...