MVC/POJO/POJI/DAO/DTO/VO

MVC

MVC是一种分层的设计模式

M 代表 模型(Model
V 代表 视图(View
C 代表 控制器(controller)

  • 模型就是数据,如Javabean

  • 视图就是网页, JSP,用来展示模型中的数据

  • 控制器的作用就是把不同的数据(Model),显示在不同的视图(View)上。

在这里插入图片描述

POJO

POJO(Plain Old Java Object)

**POJO是一个简单的、普通Java对象,它包含业务逻辑处理或持久化逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色,不继承或不实现任何其它Java框架的类或接口可以包含类似与JavaBean属性和对属性访问的setter和getter方法

POJO(Plain Old Java Object)这个名字用来强调它是一个普通java对象,而不是一个特殊的对象。

2005年11月时,“POJO”主要用来指代那些没用遵从特定的Java对象模型,约定或框架如EJB的Java对象。

POJO, or Plain Old Java Object, is a normal Java object class (that is, not a JavaBean, EntityBean etc.) and does not serve any other special role nor does it implement any special interfaces of any of the Java frameworks

POJO是一个简单的、普通Java对象,它包含业务逻辑处理或持久化逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色,不继承或不实现任何其它Java框架的类或接口。


JavaBean

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

JavaBean是一个遵循特定写法的Java类,是一种Java语言编写的可重用组件,它的方法命名,构造及行为必须符合特定的约定:

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

JavaBean在Java EE开发中,通常用于封装数据

因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO.(可以这么理解,POJO按JavaBean的规则来,就可以变成JavaBean).

简而言之,当一个POJO可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。(没毛病!)


Bean

Bean的中文含义是“豆子”,Bean的含义是可重复使用的Java组件。所谓组件就是一个由可以自行进行内部管理的一个或几个类所组成、外界不了解其内部信息和运行方式的群体。使用它的对象只能通过**接口来操作。**

Bean的编写规范使Bean的容器(Container)能够分析一个Java类文件,并将其方法(Methods)翻译成属性(Properties),即把Java类作为一个Bean类使用。Bean的编写规范包括Bean类的构造方法、定义属性和访问方法编写规则。


SpringBean

SpringBean是受Spring管理的对象 所有能受Spring容器管理的对象都可以成为SpringBean.

传统Javabean更多地作为值传递参数,而spring中的bean用处几乎无处不在,任何组件都可以被称为bean

对于使用Spring框架的开发人员来说,我们主要做的主要有两件事情:

  1. 开发Bean;

  2. 配置Bean;

    而Spring帮我们做的就是根据配置文件来创建Bean实例,并调用Bean实例的方法来完成“依赖注入”

可以把Spring容器理解成一个大型工厂Bean就是该工厂的产品,工厂(Spirng容器)里能生产出来什么样的产品(Bean),完全取决于我们在配置文件中的配置。其实就是根据配置文件产生对象,而不需要人为的手动去创造对象,降低了耦合.

传统javabean更多地作为值传递参数,而spring中的bean用处几乎无处不在,任何组件都可以被称为bean。


EJB 、Entity Bean

Enterprise Bean,也就是Enterprise JavaBean(EJB),是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。

EJB说到底也是种规范,它是j2EE下面的一个子分类(核心类),所以j2ee包含EJB。


PO

PO :persistent object 持久对象

O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。

PO是在O/R映射的时候出现的概念,如果没有O/R映射,没有这个概念存在了。PO可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作


DTO

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

主要用于远程调用等需要大量传输对象的地方。

比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO 内的数据来自多个表)。但view层只需显示10个字段,没有必要把整个PO对象传递到client,这时我们就可以用只有这10个属性的DTO来传输数据到client,这样也不会暴露server端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO(View Object)


VO

VO :value object 值对象 / view object 表现层(视图)对象。

  1. VO(value object)是值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是**为数据提供一个生存的地方。**VO的属性是根据当前业务的不同而不同的,也就是说,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称
  2. VO(view object)表现层对象,视图对象。
    用一个VO对象对应整个界面的值。
    • 主要对应页面显示(web页面/swt、swing界面)的数据对象。
    • 可以和表对应,也可以不,这根据业务的需要。

DAO

DAO :data access object 数据访问对象
主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO。

BO

BO :business object 业务对象。
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。

封装业务逻辑的Java对象,通过调用DAO方法,结合PO,VO进行业务操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值