"本次课程主要回顾了EJB(Enterprise JavaBeans)的相关知识,涉及JavaEE应用技术基础,尤其是Java持久API。重点讲解了EJB在不同类型的容器中的部署方式,包括JAR、WAR和EAR文件格式,以及EJB 3到2+1的版本变迁。此外,还详细介绍了会话Bean的类型,如无状态会话Bean(SLSB)和有状态会话Bean(SFSB),并探讨了会话Bean的部署流程。同时,课程还涵盖了JNDI(Java Naming and Directory Interface)编程,包括JNDI的基本类和接口,如Context、Naming、InitialContext以及Properties的使用,用于查找、绑定和管理Java对象的名称。"
在Java企业级开发中,EJB是一种核心组件模型,它定义了如何在JavaEE应用服务器中构建可复用的、分布式的、事务处理的业务逻辑组件。EJB JAR、WAR和EAR是三种不同的部署单元。JAR(Java Archive)主要用于存储EJB组件,WAR(Web Application Archive)用于部署Web应用程序,而EAR(Enterprise Application Archive)则是一个包含整个企业级应用的容器,可以包含多个EJB JAR、WAR和其他资源。
EJB的发展经历了从早期版本到EJB 3的重大变革,从复杂的接口和XML配置转向更简洁的注解驱动模型,这一转变通常被描述为从EJB 3到2+1的简化。这使得开发者能够更容易地创建和管理EJB组件。
会话Bean是EJB中的一种关键类型,用于实现客户端会话逻辑。无状态会话Bean(SLSB)不保存任何客户端状态,每次调用都是独立的,适合执行无关联的操作。有状态会话Bean(SFSB)则能记住客户端的状态,允许在多次调用之间保持数据。会话Bean的部署涉及到容器中的配置,包括bean的接口、实现类、部署描述符等。
JNDI是Java平台的标准服务,用于查找和绑定分布式环境中的对象。在JavaEE中,JNDI用于定位和访问EJB。通过InitialContext类,我们可以初始化上下文环境,并使用lookup方法查找指定名称的对象,bind方法将对象与特定名称关联,createSubcontext创建子上下文,而unbind则用于解除绑定。
在实际应用中,使用Properties类可以设置JNDI的初始上下文参数,如指定JNDI服务的工厂类和提供者URL。这些参数帮助我们连接到正确的JNDI服务器,从而在整个应用程序中实现对象的命名和查找。
本课程深入讲解了EJB及其相关技术,对于理解和掌握JavaEE应用开发具有重要意义,特别是对那些需要处理复杂业务逻辑和分布式系统交互的开发者来说。