### EJB3.0 实例教程知识点概览 #### 第一章:EJB知识与运行环境配置 **1.1 什么是Enterprise JavaBeans (EJB)** EJB(Enterprise JavaBeans)是一种Java标准,用于创建分布式企业级应用程序的组件模型。它通过提供事务管理、安全性、并发控制等功能来简化复杂应用的开发过程。 **1.2 EJB的运行环境** EJB容器是EJB组件运行的基础环境,通常嵌入到应用服务器中,如JBoss、WebLogic等。这些容器负责管理和协调EJB组件的行为,并提供必要的服务支持。 **1.3 什么是JNDI** JNDI(Java Naming and Directory Interface)是Java平台提供的一个API,用于访问命名和目录服务。在EJB中,JNDI常用于查找和定位远程对象、资源等。 **1.4 下载与安装JDK** JDK(Java Development Kit)是Java开发工具包,包含了编译、调试Java程序所需的工具。为了运行EJB应用,开发者首先需要安装适合的JDK版本。 **1.5 下载与安装Eclipse** Eclipse是一款开源集成开发环境(IDE),广泛用于Java应用的开发。它提供了强大的编辑、调试工具以及插件扩展能力,适合EJB项目的开发。 **1.6 下载与安装JBoss** JBoss AS(Application Server)是JBoss集团开发的一款开源应用服务器,支持多种企业级服务,包括EJB。它是测试和部署EJB应用的理想选择之一。 **1.7 运行第一个EJB3例子** 通过简单的示例项目,学习如何创建、部署并运行一个基本的EJB组件,这有助于理解EJB的基本工作原理和配置过程。 **1.8 熟悉JBoss的目录结构** 了解JBoss服务器的文件组织方式,对于部署和管理EJB应用至关重要。 **1.9 在JBoss部署应用** 掌握如何将EJB应用打包为WAR或EAR文件,并部署到JBoss服务器上。 **1.10 如何恢复本书配套例子的开发环境** 介绍了如何设置开发环境,以便能够顺利运行书中的示例代码。 #### 第二章:会话Bean (Session Bean) **2.1 Stateless Session Beans(无状态Bean)开发** 无状态会话Bean是最常用的EJB类型之一,它不维护客户端之间的状态信息,适用于简单的业务逻辑处理。 **2.1.1 开发只实现Remote接口的无状态SessionBean** 介绍如何创建只暴露远程接口的无状态会话Bean,这种方式适用于跨进程的通信。 **2.1.2 开发只实现Local接口的无状态SessionBean** 与上一种方式不同,本地接口只在同一个虚拟机内可用,提高了性能和效率。 **2.1.3 开发实现了Remote与Local接口的无状态SessionBean** 同时提供远程和本地接口,使得Bean既可以进行远程调用也可以在本地进行调用。 **2.2 实例池化 (Instance Pooling)** EJB容器通过维护Bean实例池来提高性能,减少创建和销毁实例的开销。 **2.3 Stateless Session Bean的生命周期** 了解无状态会话Bean从创建到销毁的整个生命周期。 **2.4 Stateful Session Bean(有状态Bean)开发** 与无状态会话Bean相比,有状态会话Bean可以维护客户端状态,适用于更复杂的业务场景。 **2.5 激活机制 (Activation Mechanism)** 针对有状态会话Bean,在空闲时可以将其转换为被动状态以节省资源。 **2.6 Stateful Session Bean的生命周期** 详细介绍有状态会话Bean的生命周期管理。 **2.7 EJB调用机制** 解释EJB组件之间以及外部客户端如何调用EJB的方法。 **2.8 如何改变Session Bean的JNDI名称** 介绍如何更改Session Bean在JNDI中的绑定名称。 **2.9 Session Bean的生命周期事件** 描述Session Bean在不同生命周期阶段可能触发的事件,如prePassivate、postActivate等。 **2.10 拦截器 (Interceptor)** 拦截器用于在方法调用前后执行特定逻辑,例如日志记录、权限验证等。 **2.11 依赖注入 (Dependency Injection)** 依赖注入是一种设计模式,允许将对象的依赖项在其创建时注入,而不是在类内部创建。EJB3.0支持注解方式的依赖注入。 **2.11.1 资源类型的注入** 如何将资源(如DataSource、Message-driven Context等)注入到EJB组件中。 **2.11.2 注入与继承关系** 讨论如何在使用继承的情况下实现依赖注入。 **2.11.3 自定义注入注释** 允许开发者定义自己的注解来控制注入行为。 **2.12 定时服务 (Timer Service)** 定时服务允许EJB组件安排在特定时间点或周期性执行的任务。 **2.13 安全服务 (Security Service)** 介绍如何利用EJB的安全特性来保护应用免受未授权访问。 **2.13.1 自定义安全域** 允许开发者自定义安全策略,以满足特定的应用需求。 #### 第三章:实体Bean (Entity Bean) **3.1 JBoss数据源的配置** 介绍如何配置JBoss中的数据源,以支持实体Bean的持久化操作。 **3.1.1 MySQL数据源的配置** 详细步骤说明如何配置MySQL作为实体Bean的数据存储后端。 **3.1.2 Microsoft SQL Server 2000数据源的配置** 同样地,介绍如何配置MS SQL Server 2000作为数据存储。 **3.1.3 Oracle 9i数据源的配置** 介绍Oracle 9i作为数据存储时的数据源配置方法。 **3.2 单表映射的实体Bean** 介绍如何将Java对象映射到数据库中的单一表格。 **3.3 成员属性映射** 解释如何将实体Bean的成员变量与数据库表中的字段对应起来。 **3.4 建议重载实体Bean的EQUALS()和HASHCODE()方法** 为确保实体Bean在集合中的正确操作,推荐重写这两个方法。 **3.5 映射的表名或列名与数据库保留字同名时的处理** 当实体Bean的表名或列名与数据库保留关键字冲突时的解决方法。 **3.6 多表映射的实体Bean** 介绍如何将Java对象映射到多个数据库表,以支持更复杂的数据模型。 **3.7 持久化实体管理器 ENTITY MANAGER** ENTITY MANAGER是用于管理实体Bean的核心接口,支持各种持久化操作。 **3.7.1 实体的状态** 实体Bean在不同阶段的状态,包括临时、托管、持久化、分离等。 **3.7.2 Entity获取 find() 或 getReference()** 如何查找和获取实体Bean实例。 **3.7.3 持久化实体 persist()** 如何将实体Bean保存到数据库中。 **3.7.4 更新实体** 如何更新已存在的实体Bean。 **3.7.5 合并 Merge()** 如何将实体Bean的状态合并到持久化上下文中。 **3.7.6 删除 Remove()** 如何从数据库中删除实体Bean。 **3.7.7 执行JPQL操作 createQuery()** 如何使用JPQL查询语言执行数据库查询。 **3.7.8 执行SQL操作 createNativeQuery()** 如何执行原生SQL语句。 **3.7.9 刷新实体 refresh()** 如何刷新实体Bean的状态。 **3.7.10 检测实体是否处于托管状态 contains()** 如何判断实体Bean是否被ENTITY MANAGER管理。 **3.7.11 分离所有正在托管的实体 clear()** 如何清除ENTITY MANAGER中所有的托管实体。 **3.7.12 刷新 flush() 与设置flush模式 setFlushMode()** 如何强制刷新ENTITY MANAGER的更改到数据库,以及如何设置自动刷新模式。 **3.7.13 获取持久化实现者的引用 getDelegate()** 如何获取ENTITY MANAGER的具体实现类。 **3.8 关系/对象映射** 描述如何在实体Bean之间建立各种关系,包括一对多、多对一、一对一、多对多等。 **3.9 JPQL查询** 介绍JPQL(Java Persistence Query Language)的基本语法和高级特性,包括命名参数查询、位置参数查询、日期参数处理等。 以上知识点覆盖了EJB3.0实例教程的主要内容,为初学者提供了全面的学习指南。
- 粉丝: 3
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1731260448754.jpeg
- 博图 博途1s保护解除DLL Siemens.Automation.AdvancedProtection.dll
- 基于Java和Shell语言的csj_21_08_20_task1设计源码分享
- 基于Typescript和Python的MNIST卷积神经网络模型加载与预测浏览器端设计源码
- 基于Python的RasaTalk语音对话语义分析系统源码
- 基于Vue框架的租车平台前端设计源码
- 基于Java和C/C++的浙江高速反扫优惠券码830主板设计源码
- 基于Java的一站式退休服务项目源码设计
- 基于Java语言实现的鼎鸿餐厅管理系统设计源码
- 基于Java的iText扩展库:简化PDF创建与中文字体应用设计源码