POJO与javaBean区别?

POJO(Plain Ordinary Java Object) 简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。
POJO实质上可以理解为简单的实体类对象,封装类对象
其中有一些属性及其getter setter方法的类,没有业务逻辑,当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

POJO与javabean的区别
POJO:普通Java类。具有一部分getter/setter方法的那种类的实例对象就可以称作POJO。
POJO的约束:
- 不能是某个类的子类
- 不能是某个接口的实现类
- 不能包含预先指定的注解。没有被其它框架侵入

- 其中有一些属性及其getter setter方法的类,没有业务逻辑。

但是JavaBean则比 POJO复杂很多, Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean 。但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat) 的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。 Java Bean 是不能被跨进程访问的。JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被拿去用,这个扳子也提供多种功能(你可以拿这个扳子扳、锤、撬等等),而这个扳子就是一个组件。一般在web应用程序中建立一个数据库的映射对象时,我们只能称它为POJO。
Bean的约束:
- 所有属性私有private
- 有无参构造方法
- 有getter和setter方法
- 类必须实现serializable接口

- 可以有其他业务逻辑的方法

POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象,其主要用来指代那些没有遵从特定的Java对象模型、约定或框架(如EJB)的Java对象。理想地讲,一个POJO是一个不受(除了Java语言规范)任何限制的Java对象。

错误的认识
POJO是这样的一种“纯粹的”JavaBean,在它里面除了JavaBean规范的方法和属性没有别的东西,即private属性以及对这个属性方法的public的get和set方法。我们会发现这样的JavaBean很“单纯”,它只能装载数据,作为数据存储的载体,而不具有业务逻辑处理的能力。

真正的意思
POJO = “Plain Old Java Object”,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不担当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB,JDBC等等。
即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean、SessionBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。

举例:用User类来说明

public class User {  //这个User类的实例对象user,可以称为一个POJO,但POJO里面并不能认为纯粹的只有这些,上面错误的认识已经解释这个问题

	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;
	}
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值