内容简介
理论篇
第1章 EJB概述
本章目标
学习导航
任务描述
1.1 EJB简介
1.1.1 EJB的历史
1.1.2 EJB相关概念
1.2 EJB类型
1.2.1会话Bean
1.2.2实体和JPA
1.2.3消息驱动Bean
1.3 EJB架构
1.3.1三层架构和EJB
1.3.2 Java EE容器
1.4 EJB提供的服务
1.5 JNDI和依赖注入
1.5.1 JNDI
1.5.2依赖注入
1.6 HelloEjb示例
小结
练习
第2章 会话Bean
本章目标
学习导航
任务描述
2.1会话Bean简介
2.1.1会话Bean与EJB服务
2.1.2会话Bean的状态
2.1.3会话Bean的生命周期
2.1.4 EJB的单线程模型
2.1.5案例介绍
2.2会话Bean的业务接口
2.2.1本地接口
2.2.2远程接口
2.2.3 WebService接口
2.2.4实现业务接口
2.2.5组合业务接口
2.3无状态会话Bean
2.3.1编写无状态会话Bean
2.3.2无状态会话Bean的实例池
2.3.3无状态会话Bean的生命周期
2.4有状态会话Bean
2.4.1编写有状态会话Bean
2.4.2有状态会话Bean的钝化和激活
2.4.3有状态会话Bean的生命周期
2.4.4有状态会话Bean的注意事项
2.5调用会话Bean
2.5.1客户端类型
2.5.2 EJB调用机制
2.5.3本地调用
2.5.4远程调用
2.6 Web层访问会话Bean
2.6.1访问无状态会话Bean
2.6.2访问有状态会话Bean
小结
练习
第3章 JPA
本章目标
学习导航
任务描述
3.1 JPA概述
3.1.1 ORM
3.1.2 JPA
3.2 JPA实体
3.2.1声明实体
3.2.2实体主键
3.2.3映射实体
3.2.4生成主键
3.2.5延迟加载
3.3实体管理器
3.3.1 EntityManager接口
3.3.2持久化上下文
3.3.3实体生命周期
3.3.4实体生命周期回调
3.3.5持久化单元
3.3.6容器管理的EntityManager
3.3.7应用程序管理的EntityManager
3.4持久化操作
3.4.1持久化实体
3.4.2通过主键检索实体
3.4.3更新实体
3.4.4删除实体
3.4.5刷新实体
3.4.6合并实体
3.4.7 flush()方法和FlushModeType
3.5项目完善
3.5.1 Servlet
3.5.2 JSP
3.5.3部署运行
小结
练习
第4章 实体关系
本章目标
学习导航
任务描述
4.1实体关联关系
4.1.1关联关系类型
4.1.2一对一关系
4.1.3一对多和多对一关系
4.1.4多对多关系
4.1.5级联操作
4.2实体继承关系
4.2.1 SINGLE_TABLE
4.2.2 JOINED
4.3项目完善
4.3.1实体
4.3.2会话Bean
4.3.3 Servlet
4.3.4 JSP
4.3.5部署运行
小结
练习
第5章 实体查询
本章目标
学习导航
任务描述
5.1实体查询简介
5.2查询API
5.2.1获得Query实例
5.2.2查询参数
5.2.3查询实体
5.2.4分页查询
5.2.5执行更新
5.2.6设置FlushMode和Hint
5.3 JPQL
5.3.1基本语法
5.3.2查询部分属性
5.3.3构造方法表达式
5.3.4连接查询
5.3.5条件查询
5.3.6函数
5.3.7分组
5.3.8子查询
5.3.9更新和删除
5.4 SQL查询
5.4.1标量SQL查询
5.4.2实体SQL查询
5.5项目完善
5.5.1实体
5.5.2业务接口和会话Bean
5.5.3 Servlet
小结
练习
第6章 消息驱动Bean
本章目标
学习导航
任务描述
6.1消息简介
6.2 JMS
6.2.1 JMS消息传递模型
6.2.2 JMS消息生产者
6.2.3 JMS消息消费者
6.3消息驱动Bean
6.3.1编写消息驱动Bean
6.3.2 ActivationConfigProperty
6.3.3消息驱动Bean的生命周期
小结
练习
第7章 事务
本章目标
学习导航
任务描述
7.1事务与EJB
7.1.1事务简介
7.1.2 EJB中的事务管理
7.2容器管理的事务
7.2.1声明事务
7.2.2事务的范围和属性
7.2.3事务的传播
7.2.4使用EJBContext回滚事务
7.2.5使用异常回滚事务
7.3 Bean管理的事务
7.3.1 UserTransaction接口
7.3.2使用UserTransaction
7.3.3事务的传播
小结
练习
第8章 定时服务、拦截器和WebService
本章目标
学习导航
任务描述
8.1 EJB定时服务
8.1.1定时服务API
8.1.2使用定时服务
8.1.3 EJB定时服务的局限
8.2 AOP与EJB拦截器
8.2.1创建拦截器
8.2.2使用拦截器
8.2.3默认拦截器
8.2.4生命周期拦截器
8.3 EJB与WebService
8.3.1发布WebService
8.3.2访问WebService
小结
练习
实践篇
实践1 EJB概述
实践指导
实践1.G.1
实践1.G.2
实践1.G.3
知识拓展
1.EJB和Spring
拓展练习
实践2 会话Bean
实践指导
实践2.G.1
实践2.G.2
实践2.G.3
实践2.G.4
实践2.G.5
实践2.G.6
实践2.G.7
实践2.G.8
实践2.G.9
实践2.G.10
实践2.G.11
实践2.G.12
实践2.G.13
实践2.G.14
知识拓展
1.在独立的Web应用中访问EJB
拓展练习
实践3 JPA
实践指导
实践3.G.1
实践3.G.2
实践3.G.3
实践3.G.4
实践3.G.5
实践3.G.6
实践3.G.7
实践3.G.8
实践3.G.9
知识拓展
1.联合主键
拓展练习
实践4 实体关系
实践指导
实践4.G.1
实践4.G.2
实践4.G.3
实践4.G.4
实践4.G.5
实践4.G.6
知识拓展
1.映射BLOB和CLOB类型
2.映射枚举类型
拓展练习
实践5 实体查询
实践指导
实践5.G.1
实践5.G.2
实践5.G.3
实践5.G.4
知识拓展
1.多表映射
拓展练习
实践6 消息驱动Bean
实践指导
实践6.G.1
实践6.G.2
实践6.G.3
实践6.G.4
知识拓展
1.使用JBoss发送邮件
拓展练习
实践7 定时服务、拦截器和WebService
实践指导
实践7.G.1
实践7.G.2
实践7.G.3
实践7.G.4
实践7.G.5
知识拓展
1.EJB安全
拓展练习
附录A EJB3.0注解
附录B EJB3.1(及JPA2.0)新特性