美文网首页Java二三事
JavaBean-一个“豆子”的故事

JavaBean-一个“豆子”的故事

作者: 码哥说 | 来源:发表于2019-07-22 10:16 被阅读0次

前言

初学java,看到各位大佬的学习资料,总会不断提到一个单词“JavaBean”,新手会一脸蒙蔽,这个究竟是个神马?

beans.jpeg

在说JavaBean前,我们还是先说类吧,这个我相信大家都知道是什么!好吧,还是简单解释下吧.

什么是类?

百度词条的解释如下:

类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。

还有种看起来更有意思的互相解释的描述:

类是一类对象的抽象
对象是类的一个实例

我们抛开概念,其实,其实在编程世界中,类(class)就是用来定义现实存在的这么一个东西.
打个比方

比如人类和你我的关系.
人类就是一个类.描述一群人的这么一个概念.
而你/我是个对象,只是“人”类中的这么一个个体.

java中,我们代码上是这么描述一个类的:

//示例定义“人类”
class Person{
    private String name;
    private int age;
    public String getName(){
        return name;
    }
    public String getAge(){
        return age;
    }
    public void setName(String name){
        this.name = name;
    }
    public void setAge(int age){
        this.age = age;
    }
}

如上,我们定义了一个“人”类,这个人类有两个属性,一个是名字,另外一个是年龄.

什么是JavaBean?

理解了类的概念,那么,我们来理清,究竟什么是JavaBean!
我们先看专业的解释:

JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。

JavaBean实际上是指一种特殊的Java类,它通常用来实现一些比较常用的简单功能,并可以很容易的被重用或者是插入其他应用程序中去。所有遵循“一定编程原则”的Java类都可以被称作JavaBean。

由上概念,我们不难总结JavaBean的特点(或者叫遵循的编写规则):

  • 这个类必须具有一个公共的(public)无参构造函数;
  • 所有属性私有化(private);
  • 私有化的属性必须通过public类型的方法(getter和setter)暴露给其他程序,并且方法的命名也必须遵循一定的命名规范.
  • 这个类应是可序列化的.(比如可以实现Serializable 接口,用于实现bean的持久性)

这么一看,我们之前定义的“人”类就是一个JavaBean!

Java中常见的类

在Java开发中,经常会看到各种“POJO/PO/VO/BO/DTO”命名的类文件,这些其实都是类,
只不过根据他们的实际业务的使用场景后,做了细节区分.

POJO 简单无规则java对象(Plain Ordinary Java Object)

POJO是一个简单的、普通Java对象,它包含业务逻辑处理或持久化逻辑等,但不是JavaBean、EntityBean等,
不具有任何特殊角色,不继承或不实现任何其它Java框架的类或接口。 可以包含类似与JavaBean属性和对属性访问的setter和getter方法的.
一个POJO持久化以后就是PO。直接用它传递、传递过程中就是DTO。直接用来对应表示层就是VO。

一句话总结: 没受任何限制的Java对象

PO 持久对象 (persistent object)

po(persistent object)就是在Object/Relation Mapping框架中的Entity,
po的每个属性基本上都对应数据库表里面的某个字段。
完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。

一句话总结: 用来与数据表对应的Java对象

VO 值对象(Value Object)

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。
但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。

一句话总结: 用于业务的Java对象

VO 视图对象(View Object)

表现层对象(View Object),主要对应展示界面显示的数据对象,
用一个VO对象来封装整个界面展示所需要的对象数据

一句话总结: 展示界面的Java对象

BO 业务对象层的缩写(Business Object)

封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。具体可以看网上的一个例子:
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

一句话总结: 包含多个业务对象的Java对象

DTO 数据传输对象(Data Transfer Object)

就是接口之间传递的数据封装,DTO作用,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构。
类似与VO,用于页面展示时就是VO。

一句话总结: 用于数据传输的Java对象

欢迎关注我

相关文章

  • JavaBean-一个“豆子”的故事

    前言 初学java,看到各位大佬的学习资料,总会不断提到一个单词“JavaBean”,新手会一脸蒙蔽,这个究竟是个...

  • 豆子的故事

    豆子谈恋爱了。 和豆子在一起的人是魏魏,他们是当志愿的时候认识的,我和豆子也是因为当志愿者认识的,所以我认识魏魏,...

  • 豆子的故事

    来说一个故事吧,如果你正在看,恰巧也想继续看下去,那就继续看下去吧,我不能保证文彩很好,但是我能告诉你,每个故事都...

  • 【观点】|影评|我是程蝶衣,心里住着小豆子

    在程蝶衣心中住着小豆子,一个小时候的小豆子。 蝶衣一生成也师哥败也师哥,一切的故事要从小豆子说起。 小豆子从小特别...

  • 豆子的故事2

    我叫豆子,豆子的豆子,c国人,二十有余,却碌碌无为,与其说是碌碌无为,还不如说是经历改变了我。 那年十六岁,八月在...

  • 你舍不得新欢,也忘不了旧爱…

    新欢也好,旧爱也罢 爱请深爱,不爱请放手。 01 讲讲豆子的故事。 之前,朋友豆子找我聊天...

  • 卖豆子思维

    分享一下《塔木德》里的故事。 犹太人在传授孩子致富经验时,经常会讲卖豆子的故事,故事内容大致是这样的,一袋豆子拿到...

  • 《麦子和豆子的故事》

    很久很久以前,有一根麦子和一颗豆子。他俩是非常要好的朋友。有一天他们一起出去玩耍的时候,发现了一条小河。豆子就对麦...

  • 豆子成长故事

    2022年4月10日中午去接豆子,还有200米就要到学校门口时接到她拿别人的手机而给我打的电话,当我到了学校门口,...

  • 豆子成长故事

    毛毛去学校需要用豆子的行李箱,豆子听到后一脸的不高兴,我正准备做她的思想工作,只听到她边走边说:赠人玫瑰,手留余香...

网友评论

    本文标题:JavaBean-一个“豆子”的故事

    本文链接:https://www.haomeiwen.com/subject/dalilctx.html