Java EJB应用程序设计

Java EJB应用程序设计
作 者: 北京比特塞威斯图书服务事业部,贾松涛
出版社: 机械工业出版社
丛编项: 挑战JAVA程序员系列丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: J2EE
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  栗松涛,毕业于清华大学自动化系。先后担任过Intel公司项目经理,新东方软件培训部主任等职。2004年加盟北京数据服务公司从事软件架构研究。目前担任北京比特塞威斯图书服务事业部经理.《挑战Java程序员系列丛书》的主编;兼任北京数据服务公司软件反向工程副主任,负责多个大型软件反向工程项目。 著有多本软件架构类专业图书:《Java服务器架构设计与Tomcat源代码详解》《MVC架构设计与Stust源代码详解》《面向接口架构设计SSpring源代码详解》

内容简介

《Java EJB应用程序设计》全面、系统地讲解了Java EJB应用程序的设计方法及技巧,主要内容包括Java EE 5和EJB 3.0组件概述,会话EJB的开发方法、组件设计及生命周期,JMS程序设计与消息队利,消息驱动Bean、SOAP与WebServce开发,Java持久化程序设计,伪对象数据库、反向依赖注入、切面程序的设计和事务管理等,最后基于Oracle数据库实现了一个高校教室综合信息管理系统,以此演示使用EJB设计应用程序的方法。《Java EJB应用程序设计》内容安排由浅入深、由易到难,通过丰富的教学案例全面讲解了EJB的相关技术。《Java EJB应用程序设计》另一个特点是每章都结合完整程序代码演示特定知识点,并介绍一些在具体项目开发中的应用技术。《Java EJB应用程序设计》中的程序不需要特殊运行条件和编程环境,只需安装Java EE 5、Java SE 5或Java SE 6、JBoss 4.2.1、Apache Ant 1.6.5和记事本软件即可。读者只要坚持调试通书中的每一段程序,相信可以全面掌握这门新一代的企业级软件开发技术。《Java EJB应用程序设计》适用于Java EJB应用程序设计的初学者或具有中等水平的读者,也可作为各类Java培训班的教材。

图书目录

第1章 Java EE 5和EJB 3.0概述 1

1.1 Java EE 5概述 1

1.1.1 Java EE 5基本架构 1

1.1.2 Java EE 5规范 3

1.1.3 Java EE 5中的Web组件 3

1.1.4 Java EE 5中的EJB组件 4

1.2 EJB 3.0开发环境的安装与

配置 5

1.2.1 Java SE环境的安装和配置 5

1.2.2 Java EE环境的安装和配置 6

1.2.3 JBoss环境的安装和配置 11

1.2.4 Apach Ant的安装和配置 14

1.3 本书源代码的安装 15

1.4 小结 15

第2章 会话EJB开发方法概述 16

2.1 会话EJB简介 16

2.1.1 会话EJB的分类 16

2.1.2 会话EJB的结构 17

2.2 EJB 3.0无状态会话EJB的

开发 18

2.2.1 无状态会话EJB的概念 18

2.2.2 无状态会话EJB的开发 19

2.2.3 无状态会话EJB的编译与

部署 22

2.2.4 无状态会话EJB的使用和

测试 25

2.3 EJB 2.X无状态会话EJB的

开发 28

2.3.1 无状态会话EJB的开发 28

2.3.2 无状态会话EJB的部署 31

2.3.3 无状态会话EJB的使用和测试 34

2.4 EJB 3.0有状态会话EJB的

开发 35

2.4.1 有状态会话EJB的概念 36

2.4.2 有状态会话EJB的开发 36

2.4.3 有状态会话EJB的测试 38

2.5 EJB 2.X有状态会话EJB的

开发 41

2.5.1 EJB 2.X有状态会话EJB的

开发 41

2.5.2 有状态会话EJB编译与部署 43

2.5.3 有状态会话EJB的使用和

测试 45

2.6 EJB 3.0和EJB 2.X的比较 48

2.6.1 组件结构的优化 48

2.6.2 API的污染性 49

2.7 小结 51

第3章 会话EJB组件设计 53

3.1 多接口会话EJB组件 53

3.1.1 多接口会话EJB组件开发 53

3.1.2 多接口会话EJB组件的使用 56

3.2 无污染EJB组件设计 58

3.2.1 非正规接口实现 58

3.2.2 使用类注解(Attribute)法设计

EJB组件 59

3.2.3 使用部署文件开发EJB组件 63

3.2.4 EJB组件开发方法比较 67

3.3 EJB接口参数设计 68

3.4 EJB接口异常设计 71

3.4.1 EJB组件接口中的应用异常 72

3.4.2 EJB组件接口中的系统异常 77

3.5 EJB组件的配置文件 82

3.5.1 EJB组件配置文件格式和读取

语法 82

3.5.2 EJB组件配置文件读取实例 84

3.6 小结 88

第4章 会话EJB组件生命周期 89

4.1 无状态会话组件生命周期 89

4.1.1 无状态会话EJB的3种状态 89

4.1.2 无状态EJB组件生命事件 90

4.1.3 无状态EJB组件生命事件

处理 91

4.1.4 无状态EJB组件生命事件

实例 92

4.2 有状态会话组件生命周期 97

4.2.1 有状态会话EJB的生命周期 97

4.2.2 有状态EJB生命周期中的

事件 99

4.2.3 有状态EJB生命事件处理 100

4.2.4 有状态EJB生命事件处理

实例 101

4.3 小结 106

第5章 JMS与消息队列 107

5.1 JMS概述 107

5.1.1 JMS消息类型 107

5.1.2 JMS基本模型 108

5.1.3 JMS消息队列操作模式 110

5.2 JBoss MQ简介 111

5.2.1 在JBoss MQ上创建队列 111

5.2.2 在JBoss MQ上创建主题 113

5.3 JMS消息队列操作模型 114

5.3.1 JMS消息操作框架 114

5.3.2 JMS消息操作对象体系 115

5.3.3 JMS消息操作对象体系的

创建 116

5.4 JMS 1.0.2消息队列操作 117

5.4.1 PTP消息队列操作接口 117

5.4.2 主题消息的发布与订阅 126

5.5 JMS 1.1消息队列操作 130

5.5.1 消息的发送 130

5.5.2 消息接收 131

5.6 小结 134

第6章 消息驱动Bean(MDB) 135

6.1 MDB组件概述 135

6.1.1 MDB基本结构 135

6.1.2 MDB组件属性 137

6.2 MDB组件开发方法 140

6.2.1 基于标注的MDB设计 141

6.2.2 基于配置文件的MDB设计 146

6.2.3 两种开发方法的比较 150

6.3 Topic型MDB组件设计 150

6.4 MDB组件生命周期 154

6.4.1 消息驱动EJB的3种状态 154

6.4.2 MDB组件生命事件 155

6.4.3 MDB生命事件处理 156

6.5 MDB负载均衡器设计 162

6.6 小结 167

第7章 Web Service概述 168

7.1 Web Service的基本特征 168

7.1.1 Web Service组件模型 168

7.1.2 Web Service组件访问模型 169

7.2 设计第一个Web服务 170

7.2.1 Web Service组件设计 170

7.2.2 Web Service组件的编译与

部署 171

7.2.3 Web Service客户代理 173

7.2.4 Web Service客户程序 175

7.3 Java Web Service技术小结 177

7.4 小结 178

第8章 WSDL接口设计与SOAP

协议 179

8.1 本章技术准备 179

8.2 WSDL文件整体结构 180

8.3 接口数据类型 181

8.4 WSDL接口 184

8.4.1 接口要素 184

8.4.2 接口实现细节 185

8.5 WSDL文件生成方法 188

8.5.1 通过SDK工具创建WSDL

文件 188

8.5.2 通过发布生成WSDL 190

8.6 SOAP基本语法 191

8.7 通过SOAP使用

Web Service 192

8.7.1 通过Java语言调用

Web Service 192

8.7.2 通过JavaScript平台调用

Web Service 195

8.8 小结 197

第9章 Web Service设计初步 198

9.1 Web Service设计 198

9.1.1 使用WebMethod标注定义Web

服务接口 198

9.1.2 对Web Service接口进行

定制 200

9.1.3 基于接口的Web Service 204

9.2 Web Service调用方法 206

9.3 可移植Web Service调用 209

9.4 小结 211

第10章 Web Service组件高级

特性 212

10.1 Web Service参数传递

原则 212

10.2 Web Service参数定义 213

10.2.1 自定义参数 213

10.2.2 自定义参数类型传递 218

10.3 Web Service集合类型 220

10.3.1 基于数组的参数传递 220

10.3.2 基于链表的参数传递 225

10.4 Web Service异常 227

10.5 小结 232

第11章 Java持久化与对象

数据库 233

11.1 对象数据库与JPA 233

11.1.1 面向对象数据库(OODB) 234

11.1.2 伪对象数据库与ORM

软件 234

11.1.3 ORM软件与JPA 235

11.2 JPA简介 236

11.3 JPA程序初步 239

11.3.1 伪对象数据库与持久化

单元 239

11.3.2 设计伪对象数据库结构 240

11.3.3 操作伪面向对象数据库 245

11.3.4 程序的编译运行 249

11.4 在会话EJB中使用JPA 250

11.4.1 Java EE中伪对象数据库

构建 250

11.4.2 会话EJB对JPA的调用 253

11.4.3 测试程序设计 255

11.5 在Web Service中使用

JPA 257

11.5.1 Web Service对JPA的调用 258

11.5.2 测试程序设计 259

11.6 小结 260

第12章 JPA实体Bean 261

12.1 实体Bean基本映射 261

12.1.1 实体Bean对应的表结构 261

12.1.2 基本映射 262

12.1.3 表和列的映射 266

12.2 JPA实体Bean的操作 272

12.2.1 实体对象检索 273

12.2.2 实体对象的状态更新 274

12.2.3 实体对象的保存 276

12.2.4 实体对象的删除 278

12.2.5 对象的合并与刷新 279

12.3 JPA实体Bean生命周期 281

12.3.1 实体Bean状态特点 281

12.3.2 持久对象生命事件 284

12.4 持久化单元与实体Bean 289

12.4.1 持久化单元的基本概念 289

12.4.2 位置关联持久化单元中的

Bean 290

12.4.3 实体Bean独立部署 291

12.5 小结 298

第13章 实体Bean主键映射 299

13.1 标识主键 299

13.1.1 手工设置型主键映射 299

13.1.2 Identity主键映射 300

13.1.3 Sequence主键映射 304

13.1.4 TableGenerator主键映射 305

13.2 复合主键映射 310

13.2.1 数据库表结构定义 310

13.2.2 使用IdClass映射复合主键 311

13.2.3 EmbeddedId主键映射 316

13.3 小结 321

第14章 实体Bean属性映射 322

14.1 实体Bean数据加载规则 322

14.2 基本属性映射 328

14.3 LOB属性映射 332

14.3.1 批量映射模式 333

14.3.2 缓存映射 338

14.3.3 对象序列化 344

14.3.4 基于XML的LOB字段

映射 348

14.4 自定义对象映射 349

14.4.1 自定义枚举映射 349

14.4.2 自定义非持久类映射 354

14.5 小结 359

第15章 实体Bean关联映射 360

15.1 单一Bean实体属性映射 360

15.1.1 实体对象模型 360

15.1.2 对象在关系型数据库中的

存储结构 364

15.1.3 关联关系测试 365

15.1.4 XML关联映射 367

15.2 JPA级联特性 368

15.3 集合属性映射 369

15.3.1 普通集合映射 370

15.3.2 链表集合映射 376

15.3.3 Map集合映射 379

15.4 双向一对多关联映射 383

15.4.1 双向多对一实体关联 383

15.4.2 双向关联的对称性问题 386

15.4.3 对双向多对一关联的测试 387

15.5 双向多对多映射 390

15.5.1 对象在数据库中的存储

结构 391

15.5.2 实体间的双向多对多关联 392

15.5.3 双向多对多关联实体操作 396

15.6 小结 398

第16章 基于JPA的伪对象数据库

设计 400

16.1 伪对象数据库与域模型 400

16.1.1 域模型中的实体设计 401

16.1.2 伪对象数据库的设计 402

16.2 伪对象数据库底层结构 409

16.3 伪对象数据库测试 411

16.4 小结 414

第17章 对象查询语言EJB QL 415

17.1 EJB QL检索语句 416

17.1.1 对象检索语句 416

17.1.2 对象属性检索语句 416

17.1.3 distinct与orderby子句 417

17.2 EJB QL条件语句 418

17.2.1 between、in与like语句 418

17.2.2 is null、is empty和member of

语句 419

17.2.3 子查询 420

17.3 对象操作语句 420

17.4 EJB QL执行API 421

17.4.1 JPA数据库操作API 421

17.4.2 对象分页检索 423

17.4.3 对象属性检索 426

17.4.4 对象操作 427

17.5 EJB QL参数 430

17.6 EJB QL本地查询 432

17.7 使用配置文件管理查询

脚本 435

17.8 小结 438

第18章 EJB反向依赖注入 439

18.1 反向依赖注入 439

18.1.1 依赖与依赖注入 439

18.1.2 反向依赖注入原则 441

18.1.3 反向依赖注入设计方法

概述 443

18.2 EJB反向依赖注入案例 446

18.3 JNDI全局注册表 450

18.4 EJB反向依赖注入机制 452

18.4.1 ENC的基本概念 452

18.4.2 ENC注册记录管理 453

18.4.3 ENC注册记录的检索 456

18.5 EJB注入点类型 459

18.5.1 持久化单元注入 459

18.5.2 资源型注入 464

18.6 小结 469

第19章 EJB切面程序设计 470

19.1 切面的基本概念 470

19.2 EJB 3.0切面类型 476

19.2.1 生命周期事件切面 476

19.2.2 切面的变体 479

19.3 EJB 3.0切入点定义方法 482

19.4 切面行为特征 484

19.4.1 切面组件反向依赖注入 484

19.4.2 切面逻辑中的异常处理 489

19.5 小结 491

第20章 事务 492

20.1 事务的基本特征 492

20.2 声明性事务 494

20.2.1 声明性事务案例 494

20.2.2 声明性事务模式 497

20.2.3 声明性事务的控制 498

20.3 程序性事务 499

20.4 EJB组件的事务特性 502

20.4.1 无状态会话组件事务特征 502

20.4.2 MDB组件事务 502

20.4.3 有状态会话EJB组件事务 503

20.4.4 实体Bean组件事务 508

20.5 小结 511

第21章 高校教室综合信息管理

系统 512

21.1 系统基本需求 512

21.2 系统概要设计 514

21.3 系统开发模块划分 517

21.4 商务逻辑层设计 521

21.5 客户端软件设计 525

21.5.1 Web Service代理模块 526

21.5.2 Classroom实体管理界面

模块 528

21.5.3 客户端系统的版权界面

模块 540

21.5.4 客户端系统引导模块 542

21.6 小结 542

附录 软件调试环境 543