第1章 概述 1
1.1 EJB的发展历史 1
1.2 EJB 3.1的新特性 2
1.3 EJB 3.1结构简介 5
1.4 EJB 3.1组件的种类 6
1.5 EJB容器 6
1.6 EJB的组成 7
1.6.1 Bean类 7
1.6.2 EJB对象 7
1.6.3 Remote接口 7
1.6.4 Local接口 8
1.6.5 Home接口 8
1.6.6配置描述器 8
1.7 EJB调用过程 8
第2章 EJB开发基础 9
2.1开发环境和工具 9
2.2构建开发环境 10
2.2.1 JDK的安装配置 10
2.2.2 MyEclipse+JBoss的安装配置 11
2.3熟悉JBoss应用服务器 14
2.4熟悉MyEclipse开发工具 16
2.4.1界面布局 16
2.4.2常用操作 19
2.5 JNDI 25
2.5.1 JNDI的体系结构 25
2.5.2 JNDI的包和类 26
2.5.3 JNDI操作步骤 27
2.6 JBoss数据源的配置 29
第3章 打包和部署 35
3.1打包和部署简介 35
3.2打包和部署Web模块 36
3.2.1目录结构 36
3.2.2打包和部署 36
3.3打包和部署EJB模块 39
3.3.1目录结构 39
3.3.2打包和部署 40
3.4打包和部署Java EE应用 41
3.4.1目录结构 41
3.4.2打包和部署 41
第4章 会话Bean 43
4.1会话Bean概述 43
4.2会话Bean的会话状态 43
4.3有状态会话Bean生命周期 45
4.4无状态会话Bean生命周期 45
4.5单例会话Bean生命周期 46
4.6编程规约 46
4.6.1 Home接口编程规范 46
4.6.2 Bean类编写规范 48
4.7开发无状态会话Bean 48
4.8开发有状态会话Bean 53
4.9开发单例会话Bean 58
4.10会话Bean生命周期事件 62
第5章 消息驱动Bean 67
5.1消息服务(JMS)概述 67
5.2 JMS消息模型 67
5.3消息的传递模型 68
5.3.1点对点消息模型 69
5.3.2发布/订阅消息模型 70
5.4 JMS编程模型 71
5.5消息驱动Bean 73
5.5.1消息驱动Bean的生命周期 73
5.5.2消息驱动Bean的特点 73
5.5.3编程规约 74
5.6开发消息驱动Bean 74
5.6.1点对点消息模型 75
5.6.2发布/订阅消息模型 83
5.7消息选择器 90
第6章 实体Bean 91
6.1持久化技术(JPA) 91
6.2 JPA体系结构 92
6.3实体Bean与会话Bean不同之处 92
6.4实体Bean的生命周期 93
6.5实体Bean生命周期事件 94
6.5.1 PostLoad注释符 94
6.5.2 PostPersist注释符 109
6.5.3 PostRemove注释符 109
6.5.4 PostUpdate注释符 109
6.5.5 PrePersist注释符 110
6.5.6 PreRemove注释符 110
6.5.7 PreUpdate注释符 110
6.6开发实体Bean 110
6.7开发JPA 121
第7章 持久化实体管理器 138
7.1概述 138
7.2持久化上下文 139
7.2.1容器管理的持久化上下文 139
7.2.2应用程序管理的持久化上下文 152
7.3管理实体实例的生命周期 153
7.4 EntityManager接口方法 153
7.4.1添加实体数据 153
7.4.2删除实体数据 154
7.4.3合并实体数据 155
7.4.4查找实体数据 156
7.4.5更新实体数据 157
7.4.6刷新实体数据 158
7.4.7执行查询操作 158
7.5注入EntityManager对象 159
第8章 实体的关系 160
8.1 BMP 160
8.2 CMP 161
8.2.1 CMP模型与数据库 162
8.2.2抽象持久性模式 166
8.2.3容器管理持久性实体Bean的生命周期 169
8.3 ORM 170
8.3.1一对一关系映射 170
8.3.2一对多映射 177
8.3.3多对一单向映射 185
8.3.4多对多映射 189
8.4实体继承关系的映射 196
8.4.1单表映射继承结构策略 196
8.4.2单表映射具体实体类策略 197
8.4.3子类连接策略 197
第9章 EJB查询语言 199
9.1常用语法 199
9.2参数 200
9.3条件操作符 200
9.4数据类型 201
9.5常用函数 202
9.6 JPA查询语言 202
9.6.1 JPQL与SQL 202
9.6.2使用JPQL 203
9.6.3命名查询 203
9.6.4动态查询 206
9.6.5常用查询操作 207
第10章 EJB定时服务 209
10.1概述 209
10.2 EJB模型接口 209
10.2.1 TimerService接口 209
10.2.2 TimedObject接口 209
10.2.3 TimerHandle接口 210
10.2.4 Timer接口 210
10.3基于日历的表达式 211
10.4自动创建定时服务 211
10.5编程式创建定时服务 213
第11章 事务和安全 215
11.1事务概述 215
11.2 EJB的事务划分 215
11.2.1容器管理事务 216
11.2.2 Bean管理事务 222
11.3 EJB安全基础 224
11.3.1身份验证 224
11.3.2授权 225
11.4用户、组和安全角色 226
11.5 EJB安全实例 227
参考文献 231