面向对象方法课留了个作业,使用EJB实现一个简单的东东,从而更深刻的体会EJB组件。
虽然J2EE学了不少,但正统的EJB一直没有怎么看。今天大体看了看EJB3.0,感觉
EJB3.0在易用方面的确有很大的改进。曾经以极高的复杂性的EJB,现在和Spring、Hibernate
这些轻量级的解决方案相比已经差不了哪去了,EJB在轻量化,所有的Bean都可以是POJO的,只
需要使用注解表明是Entity bean,Stateless/Stateful Session bean,Message-driven bean,
Remote/Local接口,不需要实现特定的接口。Java Persistence已经从EJB中分离出来,作为一
个独立的标准JPA,而Hibernate是JPA的一个实现。这样Entity bean成为了可以脱离容器的普通
的POJO,JPA像JDBC那样可以在普通的应用程序的持久化中被使用。
EJB容器提供的基础性服务(声明性事物管理、安全、并发控制、JNDI等),使得受管的Bean受益于
这些服务的同时,这些Bean可以脱离容器而被测试,这在测试先行,敏捷开发流行的时代,尤为重要。
EJB的资源管理为Bean进行了实例池化,这点感觉要比Spring依靠依赖注入的单例、原型等创建bean
相比具有更高的效率,像Stateless Session Bean、Message-Driven Bean都有若干个实例保存在池中,
可以同时相应多个请求,响应后在放入池中。而Stateful Session Bean则提供了钝化和激活操作,可
以在会话结束后钝化,将其状态保存在磁盘中,而在再次使用时,创建一个新的实例,将保存的状态拷
贝在这个新的实例中。这要比Spring简单的单例和原型要高效一些,当然随着JVM效率的提高,似乎对象
创建已经不太被看作是效率问题,像Web层的框架的应用控制器(Action)趋势是从单例到原型方式演进,
线程安全似乎更被重视。当然厂商对EJB容器的优化与直接Spring相比带来的优势是显然的。
EJB与这些轻量级框架相比最大的优势是透明的分布式对象,这对于需要分布式的应用来说是最大的亮
点。分布式对象可以分布在不同的服务器上,从而使得应用程序具有很好的伸缩性。提供JDNI来查找定位
服务,虽然JDNI的lookup方式的定位服务没有依赖注入方式先进,但JDNI可以提供跨网络的服务定位。
总体感觉EJB3和Spring等轻量级的解决方案相比,已经没有那么复杂的,EJB在轻量化,变得更易
用。Seam是个使用EJB3.0组合JSF的一站式的开发框架,整个的理念还很先进,不过入门门槛比较高。
对于使用EJB3来说Seam是个不错的选择。
分享到:
相关推荐
**感性认识**:开发过程中,开发者只需关注接口定义,具体的实现细节可以通过配置文件或其他形式进行定义,这有助于解耦业务逻辑与依赖关系。 **函数中的依赖关系**:通常情况下,函数内部会直接使用特定的对象或类...
少儿编程scratch项目源代码文件案例素材-我的世界 3D模型.zip
少儿编程scratch项目源代码文件案例素材-影子.zip
内容概要:本文详细介绍了基于运动学模型的模型预测控制(MPC)轨迹跟踪算法的纯Matlab实现方法。首先定义了差速驱动机器人的运动学模型,然后通过构建优化问题并利用fmincon函数求解最优控制输入。文中还讨论了代价函数的设计,包括状态误差和控制量的变化率惩罚项,以及如何生成参考轨迹进行仿真测试。最后给出了常见的仿真问题及其解决方案,并展示了如何通过可视化工具评估跟踪效果。 适合人群:对移动机器人控制感兴趣的科研人员、研究生及具有一定Matlab编程基础的工程师。 使用场景及目标:适用于需要理解和实现基于运动学模型的MPC轨迹跟踪算法的研究项目或工程应用。目标是掌握MPC的基本原理及其在Matlab环境下的具体实现步骤,能够独立完成从建模到仿真的全过程。 其他说明:本文不仅提供了完整的代码实现,还深入浅出地解释了每个关键环节背后的理论依据和技术细节,帮助读者更好地理解MPC的工作机制。同时,文中提到的一些技巧如控制量变化率惩罚项的应用,对于提高算法性能具有重要指导意义。
少儿编程scratch项目源代码文件案例素材-小鸟冒险.zip
scratch少儿编程逻辑思维游戏源码-经典游戏.zip
少儿编程scratch项目源代码文件案例素材-烟花效果.zip
房地产 -前策标准化-沪浙一部.pptx
内容概要:本文探讨了利用格子玻尔兹曼方法(LBM)和多松弛时间(MRT)模型对高密度比条件下气泡溃灭现象进行建模的方法。文中详细介绍了MRT碰撞模型相较于传统的单松弛时间(SRT)模型的优势,特别是在处理大密度比情况下的稳定性提升。此外,还讨论了通过调整伪势模型中的参数C和G来精确控制表面张力的技术细节,以及采用改进的颜色函数法进行界面捕捉以避免虚假速度问题的具体做法。最后强调了实际应用中需要通过大量参数扫描实验来优化模型性能。 适合人群:从事流体力学仿真研究的专业人士,尤其是关注气泡动力学及其相关应用领域的研究人员。 使用场景及目标:适用于需要模拟复杂流体环境中气泡行为的研究项目,旨在提高数值仿真的精度和可靠性,特别是对于涉及极端条件(如极高密度比)的情况。 其他说明:作者提醒读者不要盲目相信文献中的固定参数设置,而应该根据具体情况进行充分的实验验证。
scratch少儿编程逻辑思维游戏源码-废料.zip
少儿编程scratch项目源代码文件案例素材-有趣的小鸟.zip
少儿编程scratch项目源代码文件案例素材-跳舞的线.zip
scratch少儿编程逻辑思维游戏源码-火柴人战争.zip
scratch少儿编程逻辑思维游戏源码-跟着它滚.zip
scratch少儿编程逻辑思维游戏源码-巨龙超级英雄菲尔伯特.zip
南京证券-低轨卫星互联网启动,天地一体通信迈向6G
scratch少儿编程逻辑思维游戏源码-搁浅大冒险.zip
scratch少儿编程逻辑思维游戏源码-疯狂堆塔.zip
内容概要:本文详细介绍了基于PLC(可编程逻辑控制器)的教室灯控制系统的设计与实现。首先,在电气设计部分,涵盖了电路设计、电源选择和灯具选型,确保了系统的安全性和稳定性,并选择了高效节能的LED灯具。其次,在程序设计部分,重点讲述了PLC程序的编写和调试,实现了灯光的开关、调光和定时功能,保障了系统的稳定性和可靠性。最后,在组态设计部分,通过选择合适的组态软件(如WinCC、组态王),进行了系统的配置和实时监控,使用户可以方便地操作和管理控制系统。 适合人群:从事电气工程、自动化控制领域的技术人员,特别是关注节能环保和智能照明解决方案的专业人士。 使用场景及目标:适用于需要提升教室照明智能化水平并实现节能减排的学校和其他教育机构。目标是通过优化照明系统,改善教学环境,降低能源消耗。 其他说明:本文不仅提供了理论指导,还包含了具体实施步骤和技术细节,有助于读者全面理解和应用PLC技术于实际项目中。
少儿编程scratch项目源代码文件案例素材-武士格斗游戏.zip