测试开发进阶——常用中间件概念——会话Bean(SessionBean),实体Bean(Entity Bean)、消息驱动Bean(MessageDriven Bean)——EJB三种企业Bean的理...

EJB会话BeanSession Bean 很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。我把私藏的这套并发体系的笔记和思维脑图分享出来,论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取! 阅读详情

EJB——EnterpriceJavaBeans:是一个用于分布式业务应用的标准服务端组件模型。

采用EJB架构编写的应用是可伸的、事务性的、多用户安全的。可以一次编写这些应用,然后部署在任何支持EJB规范的服务器平台,如JBoss、WebLogic。

EJB定义了三种企业Bean——会话Bean(SessionBean),实体Bean(Entity Bean)、消息驱动Bean(MessageDriven Bean)

1,Session Bean:Session Bean 用于实现业务逻辑,比如用户注册、信息记录、数据操作等

它分为有状态Bean和无状态Bean。

每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。

什么叫会话(Session)?

从客户端获得EJB对象开始,然后调用EJB的方法(可以多次),直到客户端生命周期结束,或客户端释放了EJB对象为止,称为一次会话。

随着会话的终止,EJB对象也有可能会被EJB容器销毁。

下图,Session Bean通过Entity Bean往数据库插入一条记录

2,实体Bean:从名字上我们就可知,实体Bean代表真实物体的数据,在JDBC+JavaBean编程过程中,通常把JDBC查询的结果信息存入JavaBean,然后供后面程序进行处理。

在这里你可以把实体Bean看作是用来存放数据的JavaBean。

但是比JavaBean多了一个功能,实体Bean除了担负起存放数据的角色,还要负责跟数据库进行对象与关系映射(O/R Mapping)

我目前的理解:实体Bean,挺好理解的就如同学习.net三层架构时的实体层(Entity),存放实体类,贯穿于整个架构。

而实体Bean多了一个功能:负责跟数据库进行对象与关系映射(O/R Mapping)

下图,对象与关系映射

3,消息驱动Bean(MDB):是设计用来专门处理基于消息请求的组件。

它能够收发异步JMS消息,并能够轻易地与其他EJB交互。它特别适合用于当一个业务执行的时间很长,而执行结果无需实时想用户反馈的这样一个场合。

===============================================

EJB规范中定义了三种Bean,他们分别是:

会话Bean(Session Bean),实体Bean(Entity Bean),消息驱动Bean(MessageDrive Bean)。

这三种Bean各自有各自的特点,并且他们分别应用于不同的情况,下面我们将就这三种Bean进行较为详细的介绍。

1. 会话Bean。一个会话bean表示的是应用服务器中的单个客户程序,它被用来实现一个具有特定客户业务逻辑的事务对象。

我们可以简单的理解为一个会话Bean完成一个用户功能。

也正是因为多个用户可能在相同的时间执行相同的功能,并且每个用户执行相同功能后所返回的结果可能是不一样的,

所以每个会话Bean只能特定的属于一个客户程序,但是会话Bean不是持久的,当一个客户程序终止的时候,会话Bean的生命周期就结束了,

与客户程序再无关联。

会话Bean有根据是否为特定的客户程序保存状态分为:    有状态的会话Bean            和               无状态的会话Bean。

a) 有状态的会话Bean 是客户应用程序的扩展。

代表客户程序执行任务并维护该程序的相关状态,该状态称为会话状态。

在有状态会话Bean中调用的方法既可以从该会话状态中读取数据,也可以将数据写入该状态中。

并且本次会话的状态由该会话Bean调用的所有方法共享。

那么什么是有状态会话Bean的的状态呢?

有状态会话Bean的状态是由该会话Bean实例中的变量组成的,该状态在客户程序和Bean进行会话期间被保持,如果客户程序终止,则会话终止,状态也就消失了。

b) 无状态会话Bean不为特定的客户程序保持会话状态。

它仅仅是一组类似于批处理的批处理的相关服务,每一服务由一个方法来表示。

当我们调用无状态会话Bean的方法时,它执行该方法并返回结果,而无需知道或关心在此之前或之后发生了和中其他情况,

其状态也仅仅在方法调用的时候存在(有状态的会话Bean的状态是会话进行过程中存在而不是在方法调用过程中存在),当方法完成后其状态就不再被保存了。

2. 实体Bean是可以存储在持久存储介质上的持久对象。实体Bean常用来表示永久性数据并提供操作这些数据的方法。

一般情况下一个实体Bean对应着数据库中的一张表,而一个实体类的实例对应着这张表中的一条记录。

实体Bean和会话Bean的最大区别在于实体Bean具有持久性,允许共享访问和主键的特性。

实体Bean的状态保存在数据库中,可以被多个客户程序共享,每个实体Bean都有一个成为主键的唯一对象标识。

3. 消息驱动Bean。消息驱动Bean允许J2EE应用程序异步的接收Java消息服务(JMS)的消息。

消息驱动Bean包含处理接受到的消息的事务逻辑,主要作用是处理消息。它与其他Bean(实体Bean和会话Bean)的区别主要在于以下几点:

a) 消息驱动Bean没有任何接口,客户程序不是通过接口来访问消息驱动Bean的,它处理的消息可以来自任何消息客户程序。

b) 消息驱动Bean类似于无状态会话Bean,是没有状态的,它的实例不保持特定客户程序的会话状态。

c) 消息驱动Bean不需要返回任何数值给他的客户程序,也不能向客户程序返回异常,因为消息驱动Bean是异步地处理消息的。

===================================================================

从频谱到侧链:手把手教你设计甜美贝斯音色 在数字音乐制作中,音色设计是连接创意与成品的核心技术。其原在于通过合成器或采样,对声音的频谱、动态和空间属性进行精确塑造。这项技术的价值在于,它能让制作人摆脱预设限制,创造出具有独特个性和情感表现力的声音,从而提升作品的辨识度和专业度。在Future Bass、Chillhop、Pop等注重氛围和旋律的电子音乐中,一个优质的贝斯音色往往是奠定歌曲基调、支撑低频与和声的骨架。本文以打造“甜美贝斯”这一具体需求为例,深入剖析如何通过**减法合成**与**采样处**两条路径,结合**滤波器塑形**、**饱和效 阅读详情

相关推荐

CGNS快速入门到实战(一):CGNS静态链接库编译

近期,由于需要将CGNS格式加入到教研组自编CFD求解器DUBHE中,所以本人展开了对于CGNS的学习。CGNS快速入门到实战这一系列分成三篇文章展开叙述,具体有:(一)CGNS静态链接库编译;(二)VS配置调用CGNS静态链接库编写;(三)CGNS文件及案例展示。本篇文章重点讲述CGNS静态链接库编译。

ahang_99的博客 3796

Session Bean(会话Bean)

Session Bean的种类:分为有状态的会话Bean和无状态的会话Bean(Stateful Session Bean和Stateless Session BeanSession Bean的作用:Session Bean是用来实现业务逻辑的,Session Bean可以直接操作数据库,通过Entity Bean实现数据库的访问无状态的Bean:无状态Bean能够被启用很多次,该Bean是可以

渣渣想逆袭 1558

解决MiGPT部署痛点:小米账号异地登录安全验证的解决方案

为让小米音箱更智能🤖,部署MiGPT时遇到小米账号异地登录验证问题,手动验证后仍无法解决。本文分享亲测有效的简化方案✨:通过浏览器F12获取passToken📝,手动创建mi.json配置文件并挂载到Docker容器,无需本地运行MiGPT,直接绕过异地验证,附完整操作步骤和问题排查指南。

XiaoqiangClub的博客 1173

构件标准>三种EJB会话Bean实体Bean消息驱动Bean

MDB实际上是一个异步的无状态会话Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处客户请求。:用于实现O/R映射,负责将数据库中的表记录映射为内存中的实体对象,事实上,创建一个实体Bean对象相当于新建一条记录,删除一个实体Bean会同时从数据库中删除对应记录,修改一个实体Bean时,容器会自动将实体Bean的状态和数据库同步。会话Bean可以直接访问数据库,但更多时候,它会通过实体Bean实现数据访问。会话Bean实体Bean消息驱动Bean

huaqianzkh的专栏 1101

Java之旅EJB(2)——三种bean会话bean

前面我们大致讲过ejb是什么,这里不再对定义进行讲解,主要是讲解内部的组成。  1.      Bean分类   会话beansession bean)   负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作。   实体bean(Entity bean)   它实际上属于java持久化规范(简称

李晓娜 2554

进阶EJB】深入探讨三种Bean()——Session Bean

什么是Session Bean? Session Bean是用于实现业务逻辑的,每当客户发出一个请求的时候,容器就会选择一个Session Bean来为客户端服务,客户端通过调用Session Bean的方法来访问部署在服务器上的应用程序.Session Bean通过完成客户端的请求,从而对客户端隐藏了服务器内复杂逻辑的执行过程。 需要使用Session Bean的情况: 在任何给定的时间,只有一个客户端访问这个Bean的实例;Bean的状态不需要持久保存,只在一个时间段(可能是几个小时)内

不忘初心 6249

EJB-03:SessionBean

一、什么是会话BeanSession)?   会话Bean:   (1) 会话BeanEJB中一种用来建模、业务逻辑/业务流程的EJB类型。   (2) 会话Bean实例的生成是客户端调用的结果。   (3) 会话Bean接受客户端的请求,并作出响应,是一个业务处对象(控制类,OO中类的一种(边界类,实体类,控制类))   (4) 会话Bean的存活时间很短。

逆境成长 1416

SessionBeanEntityBean有什么区别?

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。 SessionBean是一种非持久性对象,不会做持久化存储,只在一次会话中有效,会话结束则自动消除;而EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体,会

chuyue369的博客 4088

ejbsessionbean的见解

一。Enterprise Beans在EJB(Enterprise Java Beans)中定义了两种不同类别的Enterprise Bean :*会话 BeanSession Bean)     *实体BeanEntity Bean)     1. 会话 BeanSession Bean)     会话 Bean 是调用它的客户端代码要完成的工作。当客户端与服务器建立联系,那么

zzy7075的专栏 2428

会话 Bean(Session Bean)

Session Bean 是实现业务逻辑的地方。简单地说,像我们要实现两数相加或是从数据库中读取数据,都是通过Session Bean 来实现。根据是否可以维护会话状态,Session Bean 分为有状态 bean 和无状态 bean。有状态 bean 可以维护会话状态,无状态 bean 不维护会话状态。要维护会话状态,意味着 EJB 容器要为每个用户创建一个 bean实例,并通过该实例保存着与...

iteye_8614的博客 421

Session Bean

一、什么是Session Bean   Session Bean封装了业务逻辑,这些逻辑可以被客户端通过编程方式进行调用,调用方式可以是本地调用,远程调用,或者WebService方式调用。Session Bean不是持久化的,不保存到数据库。 二、Session Bean的种类   1、有状态,Stateful   2、无状态,Stateless   3、单例,Singleton 三...

weixin_30914981的博客 168

Java bean 详解

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

qq_39273039的博客 1万+

bean实体

实体类,也叫java bean,在安卓中存在形式如图所示 JavaBean是一种Java语言写成的可重用组件,类是具体的和公共的,并且具有无参数的构造器。如代码段所示: public String getPhone() { return this.phone; } public void setPhone(String phone) { this.phone = phone; } JavaBean通过提供符合一致性设计模式的公共方法将内.

qq_40809437的博客 2594

Java构件技术

总结Sun公司的构件技术以及挑选几个构件技术进行详细描述

Artisan_w 794

java三大构件

Java bean:编程语言java中的术语,行业内通常称为java豆,带点美哩口味,飘零着咖啡的味道,在计算机编程中代表java构件(EJB的构件),通常有Session beanEntity beanMessageDrivenBean三大类。 Session bean会话构件,是短暂的对象,运行在服务器上,并执行一些应用逻辑处,它由客户端应用程序建立,其数据需要自己来管。分为无状态...

随风而逝的博客 2337

[转载]实体Bean介绍

实体Bean介绍在EJB的技术体系中,实体Bean充当维护数据持久性的角色。开发者可以利用实体Bean对关系型数据库中的数据进行管EJB容器会为实体Bean提供可靠的服务支持,使实体Bean拥有可靠的性能。下面首先介绍EJB...

congji3817的博客 1192

EJB中的三种bean初步介绍及会话bean

EJB中的三种bean1.会话bean(session bean) 负责与客户端交互,是编写业务逻辑的地方,在会话bean中可以通过jdbc直接操作数据库,但大多数情况下都是通过实体bean来完成对数据库的操作. 2.实体bean(entity bean) 它实际上属于java持久化规范(简称JPA)里的技术, JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hi...

weixin_30279751的博客 156

java——json工具类(json字符串转实体bean)bean和字符串之间的转换、打印bean

本文使用谷歌的Gson来解析,导入包: implementation 'com.google.code.gson:gson:2.2.+'

wy313622821的博客 5715

上市公司-研发投入与专利数据(2000-2024年)

自2000年起至2024年期间,上市公司在科技研发和创新领域所投入的资本与其所取得的专利产出,构成了庞大的数据集合。该数据集合详细记录了各个上市公司在不同时间段内的研发投入金额、研发人员数量、专利申请数量以及授权专利数量等关键信息。

上一篇: 测试开发进阶——常用中间件概念——java bean的理解
下一篇: 测试开发进阶——常用中间件概念——Session的几种保存方式的理解
小白龙白龙马
博客等级 码龄5年 557粉丝 2023原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值