### EJB3.0 实例教程知识点概览 #### 一、EJB基础知识与运行环境配置 **1.1 什么是Enterprise JavaBeans (EJB)** EJB 是一种基于Java平台的企业级应用组件模型,它提供了分布式计算环境中构建可移植、可重用的应用程序组件的能力。EJB 通过容器来管理组件的生命周期、事务处理、安全性等。 **1.2 EJB 的运行环境** EJB 组件需要在一个容器中运行,这个容器通常是应用服务器的一部分。容器负责提供必要的服务,如事务管理、安全性控制、生命周期管理等。常见的EJB容器包括JBoss、WebLogic和GlassFish等。 **1.3 什么是JNDI** Java Naming and Directory Interface (JNDI) 是一个用于查找和引用远程对象的服务接口,它可以用来定位EJB组件和其他Java资源。JNDI 提供了一个统一的方式来访问不同的命名和目录服务。 **1.4 下载与安装JDK** Java Development Kit (JDK) 是编写Java程序所必需的基础工具包,包含了Java编译器、解释器和调试器等。EJB 开发需要JDK的支持。 **1.5 下载与安装Eclipse** Eclipse 是一个开源的集成开发环境(IDE),支持多种编程语言,特别适合Java开发。Eclipse 提供了丰富的插件,可以极大地提高开发效率。 **1.6 下载与安装JBoss** JBoss AS 是一个免费的开放源代码应用服务器,提供了强大的EJB 容器功能。安装JBoss 是部署EJB 应用的重要步骤之一。 **1.7 运行第一个EJB3例子** 通过实际的例子来了解EJB3的基本用法,这对于初学者来说是非常重要的一步。 **1.8 熟悉JBoss的目录结构** 了解JBoss的目录结构对于部署和管理EJB应用程序至关重要。 **1.9 在JBoss部署应用** 部署应用到JBoss的具体步骤和注意事项。 **1.10 如何恢复本书配套例子的开发环境** 介绍如何设置好本书中的示例项目所需的开发环境。 #### 二、会话Bean (Session Bean) **2.1 Stateless Session Beans (无状态Bean)开发** - **2.1.1 开发只实现Remote接口的无状态SessionBean** - 介绍了创建一个只暴露远程接口的无状态会话Bean的方法。 - **2.1.2 开发只实现Local接口的无状态SessionBean** - 探讨了创建一个仅实现本地接口的无状态会话Bean的过程。 - **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的方法。 **2.5 激活机制 (Activation Mechanism)** 介绍有状态会话Bean如何在容器中激活和钝化的机制。 **2.6 Stateful Session Bean的生命周期** 深入探讨有状态会话Bean的生命周期管理。 **2.7 EJB调用机制** 介绍不同类型的EJB组件之间如何进行调用。 **2.8 如何改变SessionBean的JNDI名称** 指导用户如何修改会话Bean的JNDI绑定名称。 **2.9 SessionBean的生命周期事件** 解释会话Bean在其生命周期中可能会触发的不同事件。 **2.10 拦截器 (Interceptor)** 讲解如何使用拦截器来拦截并扩展EJB组件的行为。 **2.11 依赖注入 (Dependency Injection)** 介绍EJB3.0中如何使用依赖注入来简化组件之间的耦合。 - **2.11.1 资源类型的注入** - 描述了如何将资源类型(如数据库连接)注入到EJB组件中。 - **2.11.2 注入与继承关系** - 探讨了依赖注入与类继承之间的关系。 - **2.11.3 自定义注入注释** - 解释了如何定义自定义注解来进行更灵活的依赖注入。 **2.12 定时服务 (Timer Service)** 介绍如何使用EJB的定时服务来执行周期性任务。 **2.13 安全服务 (Security Service)** - **2.13.1 自定义安全域** - 讲解了如何为EJB应用配置自定义的安全域。 #### 三、实体Bean (Entity Bean) **3.1 JBoss数据源的配置** - **3.1.1 MySQL数据源的配置** - 指导用户如何配置MySQL作为JBoss的数据源。 - **3.1.2 MsSqlServer2000数据源的配置** - 介绍如何配置MsSqlServer2000作为数据源。 - **3.1.3 Oracle9i数据源的配置** - 解释Oracle9i作为数据源的配置方法。 **3.2 单表映射的实体Bean** 讨论如何将实体Bean映射到单一数据库表。 **3.3 成员属性映射** 介绍如何将实体Bean的属性映射到数据库表的字段上。 **3.4 建议重载实体Bean的EQUALS()和HASHCODE()方法** 推荐实践,以确保实体Bean能够正确地进行相等性和哈希值比较。 **3.5 映射的表名或列名与数据库保留字同名时的处理** 解决当实体Bean的表名或列名与数据库保留字冲突时的问题。 **3.6 多表映射的实体Bean** 探讨如何将实体Bean映射到多个数据库表。 **3.7 持久化实体管理器ENTITY MANAGER** - **3.7.1 实体的状态** - 描述了实体Bean可能处于的各种状态。 - **3.7.2 Entity获取find()或getReference()** - 说明如何使用EntityManager来查找实体Bean。 - **3.7.3 持久化实体persist()** - 解释如何使用persist()方法将实体Bean持久化到数据库。 - **3.7.4 更新实体** - 讨论如何更新已存在的实体Bean。 - **3.7.5 合并Merge()** - 介绍如何使用merge()方法来更新实体Bean。 - **3.7.6 删除Remove()** - 解释如何使用remove()方法删除实体Bean。 - **3.7.7 执行JPQL操作createQuery()** - 说明如何使用JPQL查询来检索实体Bean。 - **3.7.8 执行SQL操作createNativeQuery()** - 讲解如何使用原生SQL语句来查询实体Bean。 - **3.7.9 刷新实体refresh()** - 介绍如何刷新实体Bean的状态。 - **3.7.10 检测实体是否处于托管状态contains()** - 解释如何检测实体Bean是否被EntityManager管理。 - **3.7.11 分离所有正在托管的实体clear()** - 说明如何清除EntityManager中的所有托管实体。 - **3.7.12 刷新flush()与设置flush模式setFlushMode()** - 讨论如何控制EntityManager的刷新行为。 - **3.7.13 获取持久化实现者的引用getDelegate()** - 解释如何获取EntityManager的底层实现。 **3.8 关系/对象映射** - **3.8.1 双向一对多及多对一映射** - 讨论如何在实体Bean之间建立双向的一对多或多对一的关系。 - **3.8.2 单向一对多** - 解释如何建立单向的一对多关系。 - **3.8.3 单向多对一** - 介绍如何建立单向的多对一关系。 - **3.8.4 双向一对一映射** - 说明如何在实体Bean之间建立双向的一对一关系。 - **3.8.5 单向一对一** - 解释如何建立单向的一对一关系。 - **3.8.6 双向多对多映射** - 讨论如何在实体Bean之间建立双向的多对多关系。 - **3.8.7 单向多对多** - 介绍如何建立单向的多对多关系。 **3.9 JPQL查询** - **3.9.1 命名参数查询** - 介绍如何使用命名参数来构建JPQL查询。 - **3.9.2 位置参数查询** - 解释如何使用位置参数来构建JPQL查询。 - **3.9.3 Date参数** - 讨论如何在JPQL查询中使用日期参数。 - **3.9.4 一个JPQL查询例子** - 通过一个具体的例子来演示JPQL查询的用法。 - **3.9.5 命名查询** - 解释如何为JPQL查询指定名称,并在其他地方重用这些查询。 - **3.9.6 排序(orderby)** - 介绍如何使用orderby子句来排序查询结果。 - **3.9.7 查询部分属性** - 说明如何选择性地查询实体Bean的部分属性。 - **3.9.8 查询中使用构造器(Constructor)** - 讨论如何在JPQL查询中使用构造器。 - **3.9.9 聚合查询(Aggregation)** - 解释如何使用聚合函数来查询实体Bean。 - **3.9.10 关联(join)** - 介绍如何在JPQL查询中使用join子句。 - **3.9.11 排除相同的记录DISTINCT** - 解释如何使用DISTINCT关键字来去除重复的查询结果。 - **3.9.12 比较Entity** - 说明如何在JPQL查询中比较实体Bean。 - **3.9.13 批量更新(Batch Update)** - 讨论如何使用JPQL进行批量更新操作。 - **3.9.14 批量删除(Batch Remove)** - 介绍如何使用JPQL进行批量删除操作。 - **3.9.15 逻辑非运算符NOT** - 解释如何在JPQL查询中使用逻辑非运算符。 - **3.9.16 使用操作符BETWEEN** - 说明如何在JPQL查询中使用BETWEEN操作符。 以上内容概述了《EJB3.0实例教程》中涉及的主要知识点,从基础概念到高级特性都有涉及,旨在帮助读者全面掌握EJB3.0的相关技术。
- 粉丝: 6
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助