pojo和Javabean的区别

前言

     今天在学习的时候突发奇想,想问问自己pojo和Javabean有什么区别,上网搜了搜,好多人都是千篇一律的回答,不能说看不懂吧,但是也不能说完全明白,去百度百科查了一下,好像大致了解了,来这里记录一下,顺便也希望大家检查一下我说的是否有误,毕竟小白一个。


正文开始

什么是Javabean?

    Javabean就是java标准类:
        1:private修饰成员属性;
        2:所有成员变量的getter和setter方法;
        3:无参构造方法;
        4:实现序列化serializable接口;
这就是基本的javabean所具备的属性,但是并不是说Javabean只有这些东西,你可以自己再添加想要实现的方法,比如:public void show(){System.out.println(“这是一个show方法”)},

什么是pojo?

    pojo就是"Plain Ordinary Java Object",简单普通的java对象,他具备的条件(来自百度百科):
        1:private修饰成员属性;
        2:所有成员变量的getter和setter方法;
这就是基本的pojo所具备的属性,当然他也是可以实现自定义方法的,但是有些限制,后面说明。

区别?

   其实可以发现,似乎pojo和Javabean就差了一个实现序列化接口(当类中没有构造函数时,系统会默认赠送一个无参构造函数)。但是这就是重点;pojo是一个很独立的类,
   (1).不继承任何类
   (2).不实现任何接口
   (3).不包含注解(这个是我个人理解,原图放在下面)
在这里插入图片描述
ps:所以才会说pojo是一个不受任何限制的类。
   (4).不包含业务逻辑或持久逻辑(重点)

解释

   (1)和(2)很好理解,就是字面意思,不继承类,不实现接口,至于(3)我也不是很明白是不是不用注解。至于第(4)应该是很多人不明白的了,其它博文里都是这么说的“不能携带有connection之类的方法,即不包含业务逻辑或持久逻辑等。”其实就是说数据库持久层干的事,你不能干,比如说获取数据库链接connection,再比如说你实现查询数据库的操作,或者插入数据到数据库,这些都是禁止的。
   因为总的来说pojo是用来封装数据库对象的,主要是为了存储数据,你不能干你不该做的事。有人就想你刚才不说他是没有限制的吗,那我们国家也是自由的啊,但是也不是你想干什么就干什么吧,得有个底线约束着你,而不包含业务逻辑或持久逻辑就是他的约束。上面我也说了,他可以有自定义的方法,但是这其实最好没有,可以让他尽量纯粹,他就是用来封装数据的,但是你要明白他不是只能封装数据,我们是遵照着某些标准,让他这样。
      以上这些都是本人的理解,不敢说是官方正解,如有错误,还希望大家指出来,谢谢。

      最后奉上百科的一张图:

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值