EJB学习纪要

EJB学习纪要为什么会突然要看看EJB这个老古董?前段时间准备再看看Spring的东西,当然就免不了要看一下Spring作者那本导致Spring模型的大作。其中说到Spring是在批判EJB的背景下产生的。所以,就得看看EJB这玩意儿到底搞了什么东西,粗略浏览了下目录,哗!EJB2太复杂了,算了,先从后面简化过了的EJB3看起吧,完了再反过来看看2是个什么样子。这回答真够曲折的,都快忘了当初的想法了,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

为什么会突然要看看EJB这个老古董?

前段时间准备再看看Spring的东西,当然就免不了要看一下Spring作者那本导致Spring模型的大作。其中说到Spring是在批判EJB的背景下产生的。所以,就得看看EJB这玩意儿到底搞了什么东西,粗略浏览了下目录,哗!EJB2太复杂了,算了,先从后面简化过了的EJB3看起吧,完了再反过来看看2是个什么样子。这回答真够曲折的,都快忘了当初的想法了,吐舌头

 

前后大概一个多月时间,现将学习后的要点汇总如下:

 

EJB作为J2EE中业务层、持久层的框架,其特点有3:

1.通过JNDI对业务层、持久层解耦合。

2.对业务层的代码提供了系统级的服务。

3.支持分布式应用。这是其最大特点,也是造成最后失败局面的最大原因。

EJB2实体Bean定义和控制复杂、繁琐。轻量级的ORMappin框架比它好很多。

经过实践证明,不应该在业务层维护会话状态,而应该在表现层。

 

EJB最有价值的东西是其服务理念,减轻了程序员编程负担,事务、安全等系统级需要考虑的东西由容器提供。

 

这里得说一下JNDI这个东西,记得板桥里人以前说过,大概意思是“不懂JNDI,JavaEE最学了一半”。这个理念从最初学Java就碰到了,就是在获取数据库连接时,一般采用从DataSource中获取Connection,当时也没深究,知道这么个语法要求就完了。现在发现在EJB里面,各个组件之间的访问都是通过JNDI来搞得,目的只有一个“解耦合”。

 

RMI:EJB2里面一次客户端访问远程Session Bean会走两次RMI调用(一次是通过Home接口的工厂方法获取远程接口,一次是通过远程接口访问实际调用的业务方法),EJB3里面简化成了一次(Home接口调用没了)。原理上说EJB正是通过RMI来实现分布式的。但从实际情况来看,更多情况用的是本地接口,即在一个JVM中直接调用对象。

 

总结:这个当年的庞然大物,在后来Spring、Hibernate等轻量级框架的冲击之下早就失去了吸引力,EJB3确实轻多了,实体Bean的概念与2完全不同,接受Hibernate的诸多理念。但市场早没了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/188035.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • js layui 弹出子窗体_Layui弹出层 加载 做编辑页面的方法[通俗易懂]

    js layui 弹出子窗体_Layui弹出层 加载 做编辑页面的方法[通俗易懂]layui是一款优秀的模块化前端框架。利用layui弹出层做编辑页面先上效果图基本准备,引入layui的layui.css,layui.js文件Js方法/***页面内弹出编辑窗口//需要引入layui.jslayui.css文件*@param{}title标题不显示为false*@param{}area大小[“400px”,”500px”]或者”400px”—&…

  • JMETER安装与配置教程

    JMETER安装与配置教程1.前言ApacheJMeter是一款纯java编写负载功能测试和性能测试开源工具软件。2.方案理由1、不依赖界面,服务正常启动,传递参数明确便可添加测试用例执行测试。2、测试脚本不用编程,熟悉http请求和业务流程,就可以编写测试用例。3、测试脚本维护方便,可将测试脚本复制,并且可以将某一部分单独保存。4、可以跳过页面限制,向后台程序添加非法数据,测试后台程序的健壮性。5、Jme…

  • Redis在Centos7上的安装部署

    Redis在Centos7上的安装部署

  • python自动补全设置_python代码补全

    python自动补全设置_python代码补全Hello,大家好,我是橘子呀~前几期橘子给大家介绍了Python是什么以及如何安装Python软件。也分享了如何系统的以及高效率的去学习Python这门课程,还有一些避雷建议,今天橘子就分享给大伙一点宝藏干货!!!藏不住的东西,不如扬了它!请大家把它收入囊中~不要辜负我的一片苦心~一、Pycharm常用快捷键(Windows)Ctrl+Q快速查看文档Ctrl+鼠标左键简介及代码定义…

  • rcnn目标检测算法_SCL90R在线测试

    rcnn目标检测算法_SCL90R在线测试•   RCNN    RCNN(RegionswithCNNfeatures)是将CNN方法应用到目标检测问题上的一个里程碑,由年轻有为的RBG大神提出,借助CNN良好的特征提取和分类性能,通过RegionProposal方法实现目标检测问题的转化。     算法可以分为四步:     1)候选区域选择     RegionProposal是一类传统的区域提取方

  • Altium Designer 13 只能选中当前层元器件

    Altium Designer 13 只能选中当前层元器件今天打开一个ad工程,发现pcb只能选中当前层原件,其它层原件都不能选中。如图所示:这个问题以前都没遇到过,百度后发现是视图配置里面设置了。首先右键pcb文件如下图所示:然后会弹出下面的窗口:在单层模式的位置可以设置如何显示。如果需要取消这些设置 可以按下快捷键shift+s

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号