java对象 POJO和JavaBean的区别

Wesley13
• 阅读 648

一、POJO

1、定义

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

使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

2、特点

​POJO是Plain OrdinaryJava Object的缩写不错,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。

POJO实质上可以理解为简单的实体类,顾名思义POJO类的作用是方便程序员使用数据库中的数据表,对于广大的程序员,可以很方便的将POJO类当做对象来进行使用,当然也是可以方便的调用其get,set方法。POJO类也给我们在struts框架中的配置带来了很大的方便。

java对象 POJO和JavaBean的区别 java对象 POJO和JavaBean的区别

public class User {

private long id;

private String name;

public void setId(long id) {

this. id = id;

}

public void setName(String name) {

this. name=name;

}

public long getId() {

return id;

}

public String getName() {

return name;

}

}

View Code

二、javabean

1、定义

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。 换句话说,javabean就是一个java的类,只不过这个类你要按上面提到的一些规则来写,比如必须是公共的啊,无参构造啊等等,按这些规则写了之后,这个javabean可以在程序里被方便的重用,使开发效率提高。

2、特点

1. JavaBean可以调用的方法。

2. JavaBean提供的可读写的属性。

3. JavaBean向外部发送的或从外部接收的事件

点赞
收藏
评论区
推荐文章
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java 面试题目(java高级架构)
题目信息java基础:1\.Java基础1.JDK和JRE有什么区别?  Java中JDK和JRE的区别是什么?它们的作用分别是什么?(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fwilliamjie%2Fp%2
Wesley13 Wesley13
3年前
JavaEE之Hibernate(开放源代码的对象关系映射框架)
Hibernate(开放源代码的对象关系映射框架)1.简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随
Stella981 Stella981
3年前
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一、Mybatis框架1、mybatis简介MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO
Easter79 Easter79
3年前
SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
一、Mybatis框架1、mybatis简介MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO
Wesley13 Wesley13
3年前
Velocity的模板中访问公有成员变量
velocity模板中的访问对象属性,对于POJO对象来说,必须符合JavaBean的规范,也就是${obj.xxx}这样的访问会转换到obj.getXxx()这个方法的调用上。对于一些需要直接访问公用成员变量的对象(比如obj中直接有xxx变量),就不行了。官方配置文档(https://www.oschina.net/action/GoTo
Wesley13 Wesley13
3年前
JAVA 面试相关
1\.int和Integer有什么区别?答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapperclass),int的包装类就是Integer,从Java5开始引入
Wesley13 Wesley13
3年前
Java与Netty实现高性能高并发
1\.背景1.1.惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4Thrift压缩二进制编解码技术,他们实现了10WTPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java(https://www.oschina.net/action/GoToLink?urlhttp%3A
Stella981 Stella981
3年前
Hibernate一对多(双向)及多对多
1.Hibernate:2.///3.双向关联就是有“一对多”和“多对一”两个关联组合而成德,在双向关联的两端都知道对方是谁。5.下面就开始演示这种关联。7.首先定义我们需要使用的POJO对象。9.public class Member10.{11.private String 
Wesley13 Wesley13
3年前
Java8之后的业务取值避免空指针的一种解法
写业务代码的时候,通常会遇到数据库POJO对象转换为前端需要的VO对象,这时经常会遇到烦人的空指针问题,Java8之前,我们可能这么写:1.对于对象field复制风格:a.setCreateTime(b.getCreateTime().getTime());a.setAmount(b.getPayed()b.getVouch