### EJB3.0入门经典知识点详述
#### 1. EJB3.0概览与运行环境配置
- **EJB(Enterprise JavaBeans)**:EJB是Java平台为服务器端应用程序提供的一种组件模型,它使开发者可以构建可移植、健壮、可伸缩、事务性且安全的企业级应用程序,而无需关心底层细节。
- **运行环境**:EJB运行在容器中,如JBOSS、WebLogic或GlassFish等,这些容器提供了EJB组件所需的运行环境。
- **JNDI(Java Naming and Directory Interface)**:用于查找和访问分布式环境中的对象和服务,是EJB运行环境的重要组成部分。
- **JDK(Java Development Kit)**:包含Java编译器、Java虚拟机和工具,是开发Java应用程序的基础。
- **Eclipse**:流行的开源集成开发环境,支持多种编程语言,包括Java。
- **JBOSS**:开放源代码的应用服务器,支持EJB3.0规范。
#### 2. 会话Bean详解
- **无状态会话Bean(Stateless Session Bean)**:不保存任何与客户端相关的状态,适用于高并发场景。
- **有状态会话Bean(Stateful Session Bean)**:维护与特定客户端的会话状态,适用于需要跟踪客户活动的场景。
- **实例池化(Instance Pooling)**:EJB容器通过实例池管理无状态会话Bean,以提高性能和响应速度。
- **生命周期**:会话Bean具有特定的生命周期,包括创建、激活、钝化和销毁阶段。
- **EJB调用机制**:通过本地接口(Local interface)或远程接口(Remote interface)进行调用。
- **JNDI名称更改**:允许开发者更改会话Bean的JNDI绑定名称,以适应不同的部署需求。
- **生命周期事件**:EJB容器在会话Bean生命周期的关键点触发事件,如postConstruct和preDestroy。
- **拦截器(Interceptor)**:用于在调用业务方法前后执行预定义的行为,如日志记录、性能监控等。
- **依赖注入(Dependency Injection)**:EJB容器自动将依赖项注入到Bean中,简化了配置和编码工作。
- **定时服务(Timer Service)**:提供了一种机制,用于在指定的时间间隔后或在未来某个时间点调用方法。
- **安全服务(Security Service)**:确保应用程序的安全,包括身份验证和授权。
- **自定义安全域**:允许开发者定义自己的安全策略和角色,以满足特定的安全需求。
#### 3. 实体Bean(Entity Bean)
- **数据源配置**:为了存储和检索实体Bean的数据,需要配置数据源,如MySql、MsSqlServer和Oracle。
- **单表映射**:每个实体Bean对应数据库中的一个表。
- **多表映射**:实体Bean可以跨多个表存储数据,增加了灵活性和复杂性。
- **实体管理器(EntityManager)**:负责实体Bean的持久化操作,包括查找、插入、更新和删除。
- **实体状态**:包括瞬态(Transient)、托管(Managed)、持久(Persistent)和移除(Removed)状态。
- **关系/对象映射(ORM)**:将实体Bean与数据库表之间的关系映射到Java类中,支持一对一、一对多、多对一和多对多的关系。
- **JPQL(Java Persistence Query Language)**:用于查询实体Bean的SQL-like语言,支持各种查询类型和操作。
#### 结论
《EJB3.0入门经典》是一本深入浅出的指南,适合初学者和有经验的开发者学习EJB3.0的核心概念和技术。通过详细讲解EJB的运行环境配置、会话Bean的开发和管理、实体Bean的映射以及JPQL查询技术,本书提供了全面的实践指导和丰富的示例,帮助读者掌握EJB3.0的关键技能,构建高效、稳定的企业级应用程序。