首页 技术 正文
技术 2022年11月7日
0 收藏 993 点赞 895 浏览 2255 个字

什么是JavaBean:

JavaBean是一种JAVA语言写的可重用组件。JavaBean符合一定规范写的Java类,是一种规范。它的方法命名,构造以及行为必须符合特定的要求:
     1.所有属性为private     2.这个类必须具有一个公共的(public)无参构造函数     3.private属性必须提供public的getter和setter来给外部访问,并且方法的命名也必须遵循一定的命名规范     4.这个类是可序列化的,要实现serializable接口JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 的属性。

什么是SpringBean:

SpringBean是受Spring管理的对象  所有能受Spring容器管理的对象都可以成为SpringBean。Spring中的bean,是通过配置文件、javaconfig等的设置,有Spring自动实例化,用完后自动销毁的对象。让我们只需要在用的时候使用对象就可以,不用考虑如果创建类对象(这就是spring的注入)。

二者之间的区别:

用处不同:  传统javabean更多地作为值传递参数,而spring中的bean用处几乎无处不在,任何组件都可以被称为bean。写法不同:  传统javabean作为值对象,要求每个属性都提供getter和setter方法;但spring中的bean只需为接受设值注入的属性提供setter方法。生命周期不同:  传统javabean作为值对象传递,不接受任何容器管理其生命周期;spring中的bean有spring管理其生命周期行为。

拓展:

VO:(View Object表示层对象)
主要体现在视图的对象,对于一个WEB页面将整个页面的属性封装成一个对象。然后用一个VO对象在控制层与视图层进行传输交换。

DTO:(Data Transfer Object数据传输对象)
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。 PO(Persistent Object持久化对象)持久化对象,它跟数据表形成一一对应的映射关系。一般在Dao层使用。如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。 DO(Domain Object领域对象)就是从现实世界中抽象出来的有形或无形的业务实体。
POJO:(Plain Ordinary Java Object无规则简单Java对象,POJO是一种概念或者接口,身份及作用随环境变化而变化)POJO 实质上可以理解为简单的实体类,其中有一些属性(private)及其getter和setter方法的类,没有业务逻辑,也不允许有业务方法,也不能携带有connection之类的方法。POJO 是 JavaEE 世界里面最灵活的对象。
即POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。
一个POJO持久化以后就是PO。
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO 

具体流程:

用户发出请求(可能是填写表单),表单的数据在展示层被匹配为VO。

展示层把VO转换为服务层对应方法所要求的DTO,传送给服务层。

服务层首先根据DTO的数据构造(或重建)一个DO,调用DO的业务方法完成具体业务。

服务层把DO转换为持久层对应的PO(可以使用ORM工具,也可以不用),调用持久层的持久化方法,把PO传递给它,完成持久化操作。

对于一个逆向操作,如读取数据,也是用类似的方式转换和传递,略。

拓展二:

EJB (Enterprise Java Beans) 是基于分布式事务处理的企业级应用程序的组件。Sun公司发布的文档中对EJB的定义是:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。EJB到底是什么?,变成大白话就是,”把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是给他打成包放到一个服务器上了”。

推荐文章:https://blog.csdn.net/jojo52013145/article/details/5783677

参考链接:https://blog.csdn.net/qq_42245219/article/details/82748460     https://www.cnblogs.com/qinning/p/10140818.html 推荐文章:https://blog.csdn.net/zjrbiancheng/article/details/6253232     https://www.cnblogs.com/qixuejia/p/4390086.html

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,484
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,899
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,732
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,485
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,125
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,285