首页 > 编程知识 正文

pojo和javabean的区别,pojo是啥

时间:2023-05-05 14:09:04 阅读:22987 作者:3075

JavaBean

概念JavaBean是Java的特殊类,可以将多个对象封装在一个对象中。 其特点是可以序列化,提供无参数构造函数,getter和setter方法可以访问对象的属性。 名称中的“Bean”是Java可重用软件组件的通用名称

特征Bean控制属性、事件和方法是否公开给其他程序。

Bean可以从其他对象接收事件,也可以在其他对象上生成事件。

有配置Bean的软件。

可以序列化Bean的属性,以便以后重用。

指定所有属性都是私有的

提供缺省的无参数构建方法

提供getter和setter的方法

实现序列化接口,可序列化和反序列化,可选

用于应用场景view —— bean ——控制器的外部视图与控制器交换数据

service —— bean ——数据库APP应用程序服务层和数据库持久性层用于访问数据

microservicea —— bean —— microserviceb微服务模块与其他微服务模块之间通信和使用

注意:

JavaBean是符合1996年发布的Sun的JavaBean规范的类。 JavaBean被定义为Java的“软件组件模型”。

SpringBean本质上是由Spring管理的对象。 特别是由spring框架容器实例化、配置和管理的对象。 Spring bean在Spring配置文件中定义,或使用特定注释由Spring容器实例化并注入到APP应用程序中。 之所以将Spring托管对象称为Bean,是因为在以前的版本中,Spring仅用于JavaBean。 当然,不是这种情况。 Spring几乎可以管理所有对象,而无需具有缺省构造函数或JavaBean类型的特性,如mutator方法(getter和setter )。 尽管如此,“SpringBean”一词仍然存在。

注:以下术语的不规范通常基于业务场景约定而流行,直接或间接继承了JavaBean的规范和特征

模特

在概念MVC的三个层次开发中,模型负责View需要渲染的数据

应用场景@requestmapping(/list ) )。

公共字符串列表(httpservletrequestrequest,模型模型) {

usermodelusermodel=新用户模型(;

model.addattribute('userModel ',usermodel );

返回'用户/列表';

}

实体

概念实体是轻量级持久性域对象。 实体通常表示关系数据库中的表,每个实体实例对应于表中的一行

规范类必须使用javax.persistence.Entity注释进行注释。

类必须具有公共或受保护的无参数构造函数。 这个类可能有其他构造函数。

不能将类声明为final。 方法或永久实例变量不需要声明为final。

如果实例通过值作为隔离对象传递,例如,通过会话Bean的远程业务接口传递,则类必须实现序列化接口。

可以扩展实体类和非实体类,也可以扩展非实体类。

永久实例变量必须声明为私有、受保护或包的私有,并且只能通过实体类的方法直接访问。 客户必须通过访问者或业务方法访问实体的状态。

适用场景

在JPA中,创建实体并将其与数据表字段一一对应@Entity

@Table

公共类活动{

@Id

@ generated value (strategy=generation type.identity )

私有integer id;

私有字符串活动名称;

}

pojo(plainoldJavaobject ) )。

概念POJO表示常见的旧Java对象。 这是典型的Java对象,除了Java语言规范要求外,没有特殊限制,也不需要类路径。 POJO用于提高程序的可读性和复用性。 因为POJO容易写和理解,所以得到了最多的批准。 这些是Sun Microsystems在EJB 3.0中引入的。

不能继承指定的类

无法实现预定的接口

其他注释不可用

JavaBean是POJO的特殊类型,POJO不一定是JaveBean

POJO和Java Bean的区别POJOJAVABean除了对Java语言施加的限制以外没有其他特殊限制。 这是一个特别的POJO,有一些限制。

我不太控制成员。 提供对成员的完全控制。

可以实现可序列化接口。 必须实现可串行化接口。

可以通过字段名访问字段。 字段只能由getter和setter访问。

字段可以具有任意可见性。 字段只能是专用显示。

可能没有无arg构造函数。 需要无参数构造函数。

用于限制成员或不希望用户完全访问实体的情况。 用于向用户提供实体,但只为实体的一部分提供服务。

POJO类和Bean用于定义Java对象以提高可读性和可复用性。 POJO没有其他限制,但bean是具有一些限制的特殊POJO。

派生对象

分层域模型约定: do (数据对象) :与数据库表结构一一对应,通过DAO层将数据源对象向上传输。

数据传输对象(dto ) :需要在数据传输对象、服务或模块之间传输的对象

业务对象(bo ) :业务对象。 从服务层输出的封装业务逻辑的对象。

视图对象(VO ) :显示层对象,通常是从Web传输到模板渲染引擎中的层的对象。 虽然有时也称为Value Object值对象,但不推荐使用

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。