面向对象方法课留了个作业,使用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是个不错的选择。
分享到:
相关推荐
【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...
"ejb3 带源码"的资源,如"Mastering EJB3"和"Beginning EJB3 Application Development"等,提供了深入学习和实践EJB3技术的宝贵材料。 1. **EJB3核心概念**: - **实体Bean(Entity Bean)**:代表数据库中的持久...
EJB3的三本好书之三,也很不错的一本ejb3的书籍,是英文版,附带源代码,这本书的好处是与Mastering EJB 3ed有一定的继承性,可以对比来看. 3本书的地址 1. Beginning EJB3 Application Development From Novice to ...
**EJB3基础教程** Enterprise JavaBeans(EJB)是Java平台上用于构建可扩展、安全且事务处理能力强的服务器端应用程序的重要技术。EJB3是EJB规范的一个重大改进版本,它极大地简化了开发过程,引入了许多现代编程...
**EJB3(Enterprise JavaBeans 3.0)**是Java EE平台中的核心组件,它为企业级应用提供了服务器端的组件模型。EJB3引入了许多重大的改进,使其变得更加轻量级,降低了开发复杂性,使得开发者能够更专注于业务逻辑而...
**ejb3进阶案例详解** ejb3(Enterprise JavaBeans 3.0)是Java EE平台中的核心组件之一,它极大地简化了企业级应用程序的开发。ejb3引入了许多新特性和改进,使得开发人员可以更加高效地构建可扩展、可维护的企业...
**EJB3(Enterprise JavaBeans 3)是Java EE(Enterprise Edition)平台中用于构建企业级应用程序的重要组件模型。这个PPT教程详细介绍了EJB3的各种核心概念和技术,旨在帮助学习者掌握EJB3的核心特性并能实际应用到...
**EJB3应用实例** EJB(Enterprise JavaBeans)3是Java EE(Enterprise Edition)平台中的核心组件之一,主要用于构建可扩展、可移植且高度模块化的企业级应用程序。EJB3引入了许多重大改进,简化了开发流程,降低...
本文将深入探讨EJB3中的Entity Bean,它是EJB3中的持久化组件,用于代表数据库中的实体。 1. **实体Bean的概念** 实体Bean是EJB3中的数据存储模型,它与数据库中的记录相对应。在EJB3中,实体Bean不再需要编写...
EJB(Enterprise JavaBeans)3是Java平台企业版(Java EE)的一个核心组件,用于简化大型企业级应用的开发。自从EJB 3版本推出以来,它在简化实体管理、依赖注入和声明式服务等方面有了重大改进,使得开发者可以更加...
EJB3的三本好书第二本,最好的介绍ejb3的书,看过之后,其他的书都送人了,而且附带的源代码,几乎包括了所有的主流应用服务器的例子,glassfish, jboss, weblogic, oracleAS 3本书分别是: 1. Beginning EJB3 ...
【ejb3-persistence】是Java企业版(Enterprise JavaBeans,EJB)3.0规范中的持久化模块,它是Java后端开发中的一个重要组件,主要处理数据库操作和对象关系映射(Object-Relational Mapping,ORM)。在Spring框架中...
EJB3是EJB规范的一个重大改革版本,引入了许多简化开发的新特性,使得Java开发者能够更高效地构建分布式企业应用。 1. **EJB的概述** EJB是一种组件模型,它定义了如何在服务器端部署和管理业务逻辑。EJB3是基于...
这个压缩包文件"**EJB3 入门经典 源码**"很可能是为了帮助初学者理解并学习EJB3的基本概念、设计模式和实际应用。 EJB3的主要特点包括: 1. **注解驱动(Annotation-Based)**:EJB3引入了注解,使得开发者无需...
在这个实例练习中,我们将探讨EJB3的基本概念、特性以及如何创建和运行一个简单的EJB3应用。 1. EJB3概述 EJB3引入了注解驱动的编程模型,消除了XML配置文件的需求,大大减少了开发工作量。它包括三种主要类型的...
【 ejb3_structs 】是一个关于企业级JavaBean(EJB)3.0与Struts框架集成的项目。在Java EE(Enterprise Edition)应用程序开发中,EJB3和Struts是两个重要的组件,分别负责业务逻辑管理和用户界面展示。 **EJB...
EJB3是EJB规范的一个重要版本,它在EJB2的基础上进行了重大改进,极大地简化了开发流程,降低了学习曲线,提升了开发效率。 在"EJB3实战的源代码"这个资源中,我们可以深入学习和理解EJB3的各种特性。EJB3引入了...
**EJB3入门** Enterprise JavaBeans(EJB)是Java EE平台的核心组件之一,用于构建企业级分布式应用程序。EJB3是EJB规范的一个重要版本,它极大地简化了开发过程,降低了EJB技术的门槛,使得更多的开发者能够利用...