首页>参考读物>计算机科学与技术>软件与程序设计

Eclipse RCP与Spring OSGi:技术详解与最佳实践
作者 : 陆阳 著
出版日期 : 2012-12-05
ISBN : 978-7-111-40218-3
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 413
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书由资深的Eclipse专家亲自执笔,并得到了Eclipse官方技术社区的强烈推荐,权威性毋庸置疑!内容全面,系统讲解了利用Eclipse RCP和Spring OSGi开发大规模Java应用的核心技术;实战性强,包含大量易于操作的案例和最佳实践。
全书一共3个部分:基础篇(1~5章)详细介绍了与Eclipse RCP相关的一系列核心概念、Eclipse RCP开发环境的搭建,以及SWT、JFace、Forms、Nebula和WindowBuilder等Eclipse RCP开发所常用的界面编程技术;高级篇(6~12章)系统讲解了Eclipse RCP应用开发的基础知识、Eclipse RCP软件产品各个组成部分的构建方法,以及Eclipse RCP扩展的使用和扩展点的开发,掌握这些技术知识读者将能构建一个结构完整的Eclipse RCP软件,并解决软件开发过程中遇到的故障;实战篇(13~15章)详细讲解了Eclipse RCP与Spring OSGi框架、Hibernate ORM框架、JPA规范、Maven工具的整合,以及它与Java的模块化设计。

图书特色

资深的Eclipse专家亲自执笔,Eclipse官方技术社区推荐,权威性毋庸置疑
内容全面,系统讲解了利用Eclipse RCP和Spring OSGi开发大规模Java应用的核心技术;实战性强,包含大量易于操作的案例和最佳实践

Eclipse RCP与Spring OSGi
技术详解与最佳实践
陆 阳 著
封底:
毫无疑问,Eclipse是全球最受欢迎的Java客户端软件开发IDE,Spring则在众多的Java Web开发框架中独树一帜。随着现代软件开发的规模越来越大,结构越来越复杂,模块化是当今解决这一问题的最佳方案之一。Eclipse RCP和Spring OSGi分别是开发大规模的Java客户端应用和Java Web应用的主流技术,本书十分详尽地讲解了Eclipse RCP和Spring OSGi的技术细节,以及利用它们编写模块化程序的思路和最佳实践。
—— 51CTO(www.51cto.com) 中国领先的IT技术网站
本书主要内容:
Eclipse RCP的详细介绍,包括Eclipse RCP的概况和应用、OSGi与Equinox、SWT与JFace等内容;
Eclipse RCP开发环境的搭建,包括JDK、Eclipse IDE、Maven、Spring IDE Plugin的安装与配置,以及Maven与Eclipse的集成;
Eclipse RCP常用的界面编程技术的详细讲解,包括SWT界面设计、JFace界面设计、Eclipse Forms与Nebula界面设计等;
Eclipse RCP应用的开发流程和方法,以及对Eclipse RCP软件产品的组成部分的详细介绍,包括产品帮助系统、产品欢迎页面、产品多国语言、产品的运行与导出;
Eclipse RCP扩展的使用和Eclipse RCP扩展点的开发;
Spring OSGi项目的详细讲解,包括项目所需的开发包、项目的Maven管理、项目的模块化设计等内容,以及如何与Eclipse RCP的整合;
Eclipse RCP与Hibernate、数据库驱动、数据库连接池整合的技术细节;
Eclipse与Java模块化设计的技术细节;
……

前:
Eclipse技术社区刚刚迎来了其10周年庆典,美国计算机协会(ACM)同时授予Eclipse软件系统大奖,Eclipse作为最受欢迎的Java软件开发平台,对计算机软件行业的贡献是有目共睹的。然而Eclipse不仅仅是一个优秀的面向开发者的IDE,事实上有大量的应用软件都是基于Eclipse平台开发出来的,包括IBM的Rational工具、Adobe的Flash Builder、VMware的SpringSource Tool Suite等。
本书内容系统而全面,既详细介绍了实现界面组件的SWT、JFace、Forms、Nebula、WindowBuilder,又仔细讲解了实现业务层组件的Spring OSGi、Hibernate、JPA、Maven等众多的技术点与工具。如何编写模块化的程序是本书的另一个初衷,通过大量的示例分享了在Eclipse RCP项目中实践模块化编程的技巧与经验,更好地编写低耦合、易于维护的软件,以及在团队中如何将业务组件的开发与界面组件的开发分离。
如果你正准备使用Eclipse开发基于Java的高质量的客户端软件,本书将为你提供绝佳的实践指导;如果你准备使用Spring OSGi开发Web程序,本书中的许多开发经验也同样适用。实际上本书中的大量实践经验最初就是来自基于Spring OSGi的Web应用程序。
作 者 简 介
陆 阳 资深Eclipse技术专家,致力于OSGi和Eclipse技术的研究和推广,积累了十分丰富的经验。精通Java语言和各种开源的企业级Java技术框架的整合与开发;擅长Eclipse RCP 富客户端系统框架的设计、基于OSGi的BS/CS系统的架构、基于Java工作流中间件的设计及其应用,以及基于MDA 可视化建模软件的开发和设计。活跃于Eclipse(www.eclipse.org.org)技术社区,是Eclipse 技术社区Hibernate/JPA 设计器的开发者,被提名Eclipse2012 Community-Top Newcomer Evangelist Award。

图书前言

为什么要写这本书
  几年前笔者就有编写一本关于Eclipse RCP和OSGi技术的书籍的想法,但几次提笔又放弃了,因为未能很好地解决在开发实践中遇到的很多问题,笔者不希望将一些不成熟的想法和开发“玩具”程序的经验传播给其他开发者。最近笔者完成了一个综合性的项目,觉得自己已有了足够的经验,已可以完成这样一本书了。此时WindowBuilder界面设计工具已经被Google公司收购并免费开放给开发者使用了,使用该工具时不再有软件版权问题,于是笔者真正开始动笔写作本书了。
  随着现代软件开发规模愈来愈庞大、愈来愈复杂,模块化开发会成为一种必然趋势。Eclipse RCP 和OSGi技术正是解决这一系列问题的一剂良药。使用Eclipse RCP和OSGi技术开发程序所面临的最大挑战不是编写代码,而是如何规划插件的功能边界,如何开发松耦合、可复用的插件系统。另外,开发数量庞大的插件在项目管理和版本控制上也是一个挑战,有时候开发者不得不在是否应当细化插件功能的颗粒度和由此造成过多的插件数量之间权衡。
  无论是桌面系统开发还是Web系统开发,在国外Eclipse RCP和OSGi都早已有非常广泛的应用,但是近年来在国内依然没能得到有效的推广。鉴于国内Spring技术书籍已经非常丰富,开发者对Spring技术也相对熟悉,所以本书结合Eclipse RCP和Spring OSGi以实践的方式来传播新技术,这样读者可以在已有的知识结构上学习新东西,以缩短学习周期,迅速掌握技术要点。本书中的技术既能够满足Eclipse客户端软件的开发者,又能够兼顾Java Web应用程序的开发者。笔者非常赞同Eclipse技术社区中所倡导的软件开发精神:贡献、分享、邀请,每个人都需要别人的关怀和帮助,每个人同样有义务关怀和帮助别人。Eclipse与OSGi技术在实践开发中应用起来相对困难,需要整合很多第三方技术与辅助工具,开发环境的配置也较为烦琐。本书中的开发经验大多来自于一个具有上百个插件的综合性软件平台,笔者将其中一些有益的设计经验和技巧抽离出来,尽可能多地向读者展示开发环境的搭建、工具的配置、编程经验、解决问题的思路以及如何获取更多的技术资源等知识。
  Eclipse本身的设计非常复杂,项目庞大,更多的编程经验还需要读者在实践开发中不断积累。阅读Eclipse的源码和下载Eclipse的CVS示例程序都是学习相关技术的有效途径。而就在笔者完成本书的时候,新一代的Eclipse应用平台核心运行框架Eclipse 4 Juno版本也如期发布,更多新的技术特性得到支持,包括:跨产品平台、自定义的依赖注入(Define custom DI-Annoations)、新的CSS外观技术、向后兼容性等。而基于企业级的OSGi 5.0规范也将会在EclipseCon 2012会议和OSGiCon 2012会议后得到广泛应用,一系列新的技术特性将在新版本中发布。
  我们虽然不能通过一本书就越过那道门,但是至少可以开启一扇窗户,看到门外的世界。对于那些看上去是障碍和壁垒的技术,亲自接触一下,也是有价值的,哪怕只有几秒,也比旁观几百次有效。
读者对象
  本书面向的读者是使用Eclipse RCP和Spring OSGi技术开发应用系统的程序设计人员,也包括之前就已经使用Java编程语言编写过桌面或Web应用程序的开发者。对于准备使用Spring OSGi开发Web应用程序的开发者,本书的大部分概念和知识也同样适用。
  本书假设读者已经熟悉了Java的语法和特点,并对Java设计模式有了一定了解,例如适配器模式、监听器模式、模板模式等。本书内容编排的基本原则是任何具有基本Java知识的人都可以理解。除此之外,开发者应该掌握一些常用的开源技术,比如Spring开发框架、Hibernate ORM开发框架。
如何阅读本书
  本书分为三大部分:
  第一部分为基础篇,介绍了Eclipse RCP开发所使用的常用界面编程技术,涵盖了SWT、JFace、Forms、Nebula和WindowBuilder设计器的使用方法。读者应当熟练掌握布局和各种控件的使用方法,并且通过访问这些技术的官方网站来获取更多的编程技巧。
  第二部分为高级篇,着重讲解了Eclipse RCP软件产品的组成部分,读者应当充分理解RCP开发中关于运行平台和目标平台、扩展和扩展点的概念。掌握这些技术点有助于读者构建一个结构完整的Eclipse RCP软件,解决软件开发过程中的故障。
  第三部分为实战篇,详细讲解了Eclipse RCP与Spring OSGi框架、Hibernate ORM框架、JPA规范、Maven工具的整合。如果读者在此之前从未接触过Spring和Hibernate技术,建议阅读一些与此相关的资料。
  对于Eclipse RCP和Spring OSGi技术的初学者,建议采用循序渐进的方式逐章学习。对于已经具备一定开发经验的读者,可以直接选择感兴趣的内容阅读。本书的技术点都尽可能地与业务逻辑剥离,以减少无关的程序代码实现,从而使读者更好地关注技术本身,减少对读者学习的干扰。
本书约定
  1. 软件版本
  在编写本书时所使用的JDK版本为Java SE 7、Eclipse版本为Eclipse 3.7(Indigo)、Maven版本为2.2.1、Spring OSGI(Spring DM)版本为1.2.1、Hibernate版本为3.3.1.GA,这些都属于当前性能较稳定且使用较为广泛的版本。如果你的开发环境与此不同,建议Eclipse的版本至少不低于3.6、JDK不低于1.5即可。
  2. 程序范例
  本书提供的程序范例都以保持结构的完整性为前提,尽可能不展示与主要技术无关的业务内容,以避免干扰对技术点的学习。每个范例都能够独立运行。对于SWT、JFace、Forms、Nebula章节的程序,本书提供了Shell、插件、RCP独立程序三种版本的运行方式,实际上它们都使用了相同的程序范例,只需进行很小的调整就可以移植到多种环境中。本书中出现的代码清单力争短小、有实际意义、不重复。如果遇到同一个程序范例的多个开发版本,将采用前后对比的方式展示修改的地方,不再重复相同的技术细节。
  本书程序范例的具体情况如下:
  第3章 SWT界面设计详解。
  本章使用com.rcp.example.module.ui插件打包程序范例,包含了与SWT相关的程序。
  第4章 JFace界面设计详解。
  本章使用com.rcp.example.module.ui插件打包程序范例,包含了与JFace相关的程序。
  第5章 Eclipse Forms与Nebula界面设计。
  本章使用com.rcp.example.module.ui插件打包程序范例,包含了与Forms相关的程序。
  第6章 Eclipse RCP 开发基础。
  本章创建com.rcp.example.app 插件作为Eclipse RCP独立应用程序,并且创建插件com.rcp.example.module.a和com.rcp.example.module.b演示包的访问规则。
  第7章 构建产品帮助系统。
  本章创建com.rcp.example.app.help 插件作为独立应用程序的帮助插件。
  第8章 构建产品欢迎页面。
  本章使用com.rcp.example.app.app 作为产品欢迎页面插件。
  第9章 构建产品多国语言。
  本章创建一个com.rcp.example.app.language 插件实现多国语言界面切换的功能。
  第11章 Eclipse RCP扩展的使用。
  本章创建 com.rcp.example.module.c 插件演示多个扩展点技术和多种菜单、按钮的创建方式。
  第12章 Eclipse RCP扩展点开发。
  本章创建com.rcp.example.module.d插件作为扩展点的提供者,创建com.rcp.example.module.e插件作为扩展点的使用者。
  第13章 Eclipse RCP与Spring OSGi。
  本章创建com.norcp.example.module.f和com.norcp.example.module.g插件整合了Spring OSGi作为业务模块。
  第14章 Eclipse RCP与数据访问。
  本章创建com.norcp.example.db.mysql插件、com.norcp.example.cp.dbcp插件、com.norcp.example.module.h整合了MySQL数据库、DBCP连接池和业务模块。
勘误和支持
  由于作者的水平有限,故书中难免会出现一些错误或不准确的地方,恳请读者批评指正。为此,特意创建一个在线支持站点。你可以将书中的错误发布在Wiki的Bug勘误表页面中,同时如果你遇到任何问题,也可以访问Wiki的FAQ页面,我将尽量在线上为读者提供最满意的解答。书中的全部源文件除了可以从华章网站下载外,还可以从这个网站下载,我也会将相应的功能更新及时发布出来。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱gmluyang@gmail.com,期待能够得到你的真挚反馈。
致谢
  首先要感谢IBM公司向开源社区贡献了Eclipse,以及那些为这个伟大的开发平台贡献插件的开发者和组织。2012年美国计算机协会(ACM)宣布将软件系统大奖(Software System Award)授予Eclipse,由此可见,Eclipse对计算机的贡献是有目共睹的。Eclipse还对开源运动产生了广泛的影响。
  感谢机械工业出版社华章分社的编辑杨福川和姜影,在这一年的时间中始终支持我完善本书,是你们的鼓励和帮助引导我顺利完成全部书稿。
  感谢那些陪伴在我身边的朋友。岑丽丝帮助我校对了部分文字内容,还有郑伟雄、王霞娟、吴郡、安瑞银、冯小川、外甥女皮婷婷,虽然他们大多都不明白什么是程序设计,也看不懂我写的那些“奇怪”的东西,但是一直鼓励我完成这项工作。
  感谢Eclipse基金会的Ian Skerrett副总裁在此期间给予我的协助和支持,他非常关注Eclipse在中国的发展状况。感谢德国的技术作家Lars Vogel,他发表关于Eclipse的技术的数百篇文章也给我提供了很好的参考。
  感谢在中兴通讯工作的哥哥徐琼在我初学软件开发时给予的帮助,感谢在阿里云工作的弟弟舒铭分享给我在大型互联网开发方面的有益经验,还有正在大学学习Java编程的弟弟王齐轩让我有机会重新梳理了Java学习的技术路线。
  最后要感谢我的家人,我的父亲是极其出色的机械工程师,他影响了我工作态度,我的母亲以医生的细心照顾着我的生活,他们一直在各方面支持着我,并为此付出了极大的努力,没有他们我根本无法完成这些工作。
  谨以此书献给我最亲爱的家人和朋友,以及众多热爱Eclipse和OSGi技术的软件开发者!

陆阳(SixSun)
于广东中山

上架指导

计算机\程序设计

封底文字

毫无疑问,Eclipse是全球最受欢迎的Java客户端软件开发IDE,Spring则在众多的Java Web开发框架中独树一帜。随着现代软件开发的规模越来越大,结构越来越复杂,模块化是当下解决这一问题的最佳方案之一。Eclipse RCP和Spring OSGi分别是开发大规模的Java客户端应用和Java Web应用的主流技术,本书十分详尽地讲解了Eclipse RCP和Spring OSGi的技术细节,以及利用它们编写模块化的程序的思路和最佳实践。
——51CTO(www.51cto.com) 中国领先的IT技术网站
本书主要内容:
1. Eclipse RCP的详细介绍,包括Eclipse RCP的概况和应用、OSGi与Equinox、SWT与JFace等内容;
2. Eclipse RCP开发环境的搭建,包括JDK、Eclipse IDE、Maven、Spring IDE Plugin的安装与配置,以及Maven与Eclipse的集成;
3. Eclipse RCP常用的界面编程技术的详细讲解,包括SWT界面设计、JFace界面设计、Eclipse Forms与Nebula界面设计等;
4. Eclipse RCP应用的开发流程和方法,以及对Eclipse RCP软件产品的组成部分的详细的介绍,包括产品帮助系统、产品欢迎页面、产品多国语言、产品的运行与导出;
5. Eclipse RCP扩展的使用和Eclipse RCP扩展点的开发;
6. Spring OSGi项目的详细讲解,包括项目所需的开发包、项目的Maven管理、项目的模块化设计等内容,以及如何与Eclipse RCP的整合;
7. Eclipse RCP与Hibernate、数据库驱动、数据库连接池整合的技术细节;
8. Eclipse与Java模块化设计的技术细节;
……

作者简介

陆阳 著:暂无简介

推荐序

Eclipse社区作为一个开源社区,刚刚度过了其10周年庆典。2001年11月,IBM首次推出了Eclipse平台和Eclipse Java开发工具JDT。在过去的10年里,Eclipse已发展成为主流的Java IDE,甚至成为一个更大规模和多样化的全球生态系统的软件开发工具。
  对于Eclipse社区来说,Eclipse富客户端平台(RCP)的开发是其关键的创新方向。在Eclipse的早期发展历程中,开发商意识到其不仅是一个很好的建设软件开发工具的平台,更是一个强大的开发桌面应用程序的平台。如今,成千上万的组织在Eclipse RCP的基础上开发出了具有多种解决方案的桌面应用程序,如美国太空总署在Eclipse的基础上开发的火星探测器的指挥和控制软件;IBM利用RCP作为Lotus Notes和院校研究人员的信息平台,为生物信息学研究设计了基于“RCP”的平台。Eclipse RCP已成为整个Eclipse成功发展历程中一个重要组成部分。
  书籍和教育对于任何成功的技术平台来说都是至关重要的。本书提供了关键的入门知识和技术应用所需要的实用参考材料。这是我很高兴看到这本关于Eclipse RCP的新书推出的原因。我希望这本书的读者在运用Eclipse RCP来建立强大的桌面应用程序的过程中获得更多的经验。
  我希望你会喜欢这本书,当你创建基于Eclipse的桌面应用程序时,请将你的经验分享给整个Eclipse社区,我们将通过分享个人经验而不断地学习、提升。

Ian Skerrett
Eclipse基金会市场营销副总裁

图书目录

推荐序
前言
第一部分 基 础 篇
第1章 初识Eclipse RCP / 2
1.1 Eclipse平台概述 / 2
1.2 Eclipse RCP概述 / 2
1.3 Eclipse RCP的应用 / 3
1.4 OSGi与Equinox / 5
1.5 SWT与JFace / 7
1.6 小结 / 7
第2章 搭建Eclipse RCP开发环境 / 8
2.1 JDK的安装与配置 / 8
2.1.1 下载JDK安装程序 / 8
2.1.2 安装JDK运行程序 / 8
2.1.3 配置JDK运行环境 / 10
2.1.4 测试JDK安装状态 / 11
2.1.5 卸载JDK应用程序 / 11
2.2 安装Eclipse IDE / 12
2.2.1 Eclipse开发包 / 12
2.2.2 Eclipse版本更新 / 13
2.2.3 下载Eclipse / 14
2.2.4 安装Eclipse / 14
2.2.5 技术资源 / 14
2.3 Maven的安装与配置 / 14
2.3.1 Maven介绍 / 14
2.3.2 下载Maven / 15
2.3.3 安装Maven / 15
2.3.4 测试Maven / 16
2.3.5 修改Maven的配置文件 / 16
2.3.6 技术资源 / 17
2.4 Maven和Eclipse的集成 / 17
2.4.1 安装Maven Eclipse插件 / 17
2.4.2 配置Maven Eclipse插件 / 18
2.4.3 技术资源 / 18
2.5 安装Spring IDE Plugin / 19
2.5.1 Spring IDE介绍 / 19
2.5.2 安装Spring IDE插件 / 19
2.5.3 技术资源 / 19
2.6 安装WindowBuilderProPlugin / 20
2.6.1 WindowBuilder介绍 / 20
2.6.2 安装WindowBuilder插件 / 21
2.7 小结 / 21
第3章 SWT界面设计详解 / 22
3.1 SWT介绍 / 22
3.2 WindowBuilder插件初识 / 23
3.2.1 设计视图 / 23
3.2.2 源码视图 / 24
3.2.3 结构视图 / 26
3.3 SWT设计面板 / 26
3.4 SWT设计准备 / 27
3.4.1 Element / 27
3.4.2 ElementFactory / 28
3.5 Shell使用入门 / 30
3.5.1 Shell样式 / 30
3.5.2 Shell TRIM / 30
3.5.3 Shell模态类型 / 31
3.6 容器使用入门 / 33
3.6.1 Composite / 33
3.6.2 Group / 34
3.6.3 ScrolledComposit / 35
3.6.4 SashForm / 36
3.6.5 TabFolder与TabItem / 36
3.6.6 CTabFolder与CTabItem / 37
3.6.7 ViewForm / 38
3.6.8 CBanner / 40
3.7 容器使用进阶 / 41
3.7.1 checkSubclass方法 / 41
3.7.2 界面复用 / 42
3.7.3 添加自定义的Component / 44
3.7.4 背景模式 / 45
3.7.5 带分隔条的SashForm / 47
3.8 布局使用入门 / 48
3.8.1 AbsoluteLayout / 48
3.8.2 FillLayout / 49
3.8.3 GridLayout / 50
3.8.4 FormLayout / 51
3.8.5 RowLayout / 52
3.8.6 StackLayout / 53
3.8.7 GroupLayout / 54
3.8.8 FlowLayout / 55
3.8.9 BoxLayout / 56
3.8.10 BorderLayout / 57
3.9 布局使用进阶 / 58
3.9.1 使用AbsoluteLayout / 58
3.9.2  使用GridLayout / 59
3.9.3 StackLayout / 59
3.10 控件使用入门 / 60
3.10.1 Label / 60
3.10.2  CLabel / 61
3.10.3 Separator / 62
3.10.4  Text / 63
3.10.5 StyledText / 63
3.10.6 Combo / 64
3.10.7  CCombo / 64
3.10.8 List / 65
3.10.9 Button / 66
3.10.10 DateTime / 68
3.10.11 Spinner / 68
3.10.12 Slider / 69
3.10.13 Scale / 70
3.10.14 Link / 70
3.10.15 ToolBar与ToolItem / 71
3.10.16 CoolBar与CoolItem / 73
3.10.17 ExpandBar与ExpandItem / 74
3.10.18 ProgressBar / 75
3.10.19 Browser / 76
3.10.20 Canvas / 77
3.10.21 TrayItem / 77
3.10.22 Table / 78
3.10.23 Tree / 80
3.10.24 TableTree / 81
3.11 控件使用进阶 / 83
3.11.1 创建Simple Table / 83
3.11.2 创建Lazy Table / 86
3.11.3 创建Virtual Table / 89
3.11.4 Virtual Table注意事项 / 92
3.11.5 Virtual Table排序 / 94
3.11.6 创建Lazy Tree / 95
3.11.7 创建Virtual Tree / 100
3.11.8 创建TreeVirtualDynamic / 104
3.11.9 创建POJOComposite / 106
3.11.10 如何与浏览器交互 / 107
3.12 菜单使用入门 / 111
3.12.1 Menu Bar组件 / 111
3.12.2  Popup Menu / 112
3.12.3  MenuItem / 113
3.13 菜单使用进阶 / 113
3.14 技术资源 / 113
3.15 小结 / 114
第4章 JFace界面设计详解 / 115
4.1 MVC设计思想 / 115
4.1.1 MVC模式 / 115
4.1.2  Java与MVC模式 / 116
4.2 JFace与MVC模式 / 117
4.2.1 JFace Viewer框架概述 / 117
4.2.2 JFace Viewer框架机制 / 118
4.3 JFace常用组件入门 / 121
4.3.1 ComboViewer / 122
4.3.2  ListViewer / 130
4.3.3  TableViewer / 132
4.3.4  TreeViewer / 135
4.3.5  CheckboxTableViewer / 137
4.3.6 CheckboxTreeViewer / 139
4.3.7 TreeTableViewer / 141
4.3.8  TableViewer Composite / 141
4.3.9  Table Composite / 142
4.3.10 TreeViewer Composite / 142
4.3.11 Tree Composite / 143
4.4 JFace组件使用进阶 / 143
4.4.1 数据绑定 / 143
4.4.2  基于EditingSupport的可编辑表格 / 146
4.4.3 基于ICellModifier的可编辑表格 / 147
4.4.4  对话框编辑器 / 149
4.4.5 其他表格标签 / 150
4.4.6  Viewer浮动提示控件 / 151
4.5 小结 / 153
第5章 Eclipse Forms与Nebula界面设计 / 154
5.1 Eclipse Forms项目介绍 / 154
5.2 Eclipse Forms使用入门 / 154
5.2.1 Composite / 154
5.2.2 ExpandableComposite / 155
5.2.3 Label与Text / 158
5.2.4 Hyperlink与ImageHyperlink / 158
5.2.5 Composite Separator / 159
5.2.6  Section / 160
5.2.7 Form与ScrolledForm / 162
5.3 Eclipse Forms使用进阶 / 164
5.3.1 FormEditor与FormPage / 164
5.3.2 MasterDetailsBlock 与IDetailsPage / 167
5.4 Eclipse Forms技术资源 / 173
5.5 Nebula项目介绍 / 173
5.6 安装Eclipse Nebula Plugin / 174
5.6.1 安装Eclipse Nebula Main Widgets / 174
5.6.2 安装Eclipse Nebula incubation Widgets / 174
5.6.3 加载Eclipse Nebula控件到WindowBuilder Pro Plugin中 / 174
5.7 Nebula Main Widgets设计初识 / 176
5.8 Nebula Incubation widgets设计初识 / 177
5.9 Nebula设计经验 / 178
5.10 Nebula技术资源 / 180
5.11 小结 / 180
第二部分 高 级 篇
第6章 Eclipse RCP 开发基础 / 182
6.1 Eclipse概念 / 182
6.1.1 欢迎界面 / 183
6.1.2 工作台 / 183
6.1.3 透视图 / 184
6.1.4 视图 / 184
6.1.5 编辑器 / 185
6.2 RCP应用程序设计 / 185
6.2.1 RCP插件创建向导 / 185
6.2.2 Plug-in Project / 185
6.2.3 Plugin Content / 186
6.2.4 Templates / 187
6.2.5 Sample Intro / 188
6.2.6 产品初次运行 / 188
6.3 插件清单编辑器 / 189
6.3.1 插件概述 / 189
6.3.2 插件依赖项 / 191
6.3.3 插件运行时 / 193
6.3.4 插件扩展 / 197
6.3.5 插件扩展点 / 199
6.3.6 插件构建 / 199
6.3.7  其他页面 / 200
6.4 RCP Activator与Advisor类解析 / 200
6.4.1 WorkshopAppActivator / 200
6.4.2 Application / 201
6.4.3 ActionBarAdvisor / 202
6.4.4 WorkbenchAdvisor / 203
6.4.5 WorkbenchWindowAdvisor / 205
6.5 小结 / 206
第7章 构建产品帮助系统 / 207
7.1 创建帮助插件向导 / 207
7.1.1 帮助插件的 Content向导页面 / 208
7.1.2 帮助插件的Templates向导页面 / 208
7.1.3 帮助插件的Sample Help Table of Contents向导页面 / 209
7.2 维护Help Content / 209
7.2.1 帮助系统配置与资源文件的目录 / 209
7.2.2 帮助系统配置与资源文件的关系 / 210
7.2.3 帮助系统扩展 / 211
7.3 添加帮助的菜单项 / 211
7.4 帮助文件的创建 / 212
7.5 小结 / 212
第8章 构建产品欢迎页面 / 213
8.1 产品绑定欢迎页面 / 213
8.1.1 欢迎页面扩展 / 213
8.1.2 欢迎页面定义 / 215
8.1.3 欢迎页面首页 / 215
8.1.4 页面跳转链接 / 216
8.2 欢迎页面请求 / 216
8.2.1 创建IIntroAction / 216
8.2.2 添加IIntroAction链接 / 217
8.3 添加动态内容 / 217
8.3.1 动态页面创建 / 217
8.3.2 动态数据创建 / 218
8.4  创建页面扩展 / 219
8.5  小结 / 221
第9章 构建产品多国语言 / 222
9.1 插件清单的多国语言 / 222
9.2 Java程序的多国语言 / 223
9.2.1 Java程序的外部化字符串 / 223
9.2.2  Java程序的多国语言包 / 226
9.2.3  产品多国语言进阶 / 228
9.3  帮助系统的多国语言 / 229
9.4  Eclipse界面汉化 / 230
9.5  切换软件系统语言 / 234
9.5.1  添加自定义产品的config文件 / 234
9.5.2  添加语言切换扩展点 / 234
9.5.3  语言切换处理器 / 236
9.6  小结 / 238
第10章 产品的运行与导出 / 240
10.1  产品配置 / 240
10.2  产品配置编辑器 / 241
10.3  导出向导 / 244
10.3.1  产品导出 / 244
10.3.2  跨平台导出 / 245
10.3.3 插件导出 / 247
10.4 运行与导出进阶 / 247
10.5  小结 / 250
第11章 Eclipse RCP扩展的使用 / 251
11.1  ViewPart 视图 / 251
11.1.1 创建新插件 / 251
11.1.2 视图向导 / 251
11.1.3 视图代码 / 252
11.1.4  视图扩展 / 252
11.2 Perspective透视图 / 253
11.2.1 透视图向导 / 253
11.2.2 透视图代码 / 254
11.2.3 透视图扩展 / 254
11.2.4 透视图布局 / 255
11.2.5 打开透视图 / 256
11.3 EditorPart编辑器 / 256
11.3.1 创建数据表单 / 257
11.3.2 创建编辑器的输入 / 257
11.3.3 创建编辑器 / 260
11.3.4 创建视图树形组件 / 262
11.3.5 编辑器扩展 / 262
11.4 编程实现Action / 263
11.4.1 IAction / 263
11.4.2 ToolBar工具栏 / 264
11.4.3 CoolBar工具栏 / 264
11.4.4 ContentMenuBar菜单栏 / 265
11.4.5 工作台Action / 265
11.4.6 视图Action菜单栏 / 267
11.4.7 视图Action工具栏 / 267
11.4.8 编辑器Action工具栏 / 268
11.5 扩展实现Action / 269
11.5.1 工作台Action扩展 / 269
11.5.2 视图Action扩展 / 270
11.5.3 编辑器Action扩展 / 271
11.6 Action的键盘绑定 / 272
11.6.1 Commands扩展 / 273
11.6.2 Bindings扩展 / 274
11.7 Eclipse RCP设计进阶 / 276
11.7.1 视图/编辑器之间通信 / 276
11.7.2 创建状态栏项 / 278
11.7.3 创建属性配置页面 / 279
11.7.4 创建登录对话框 / 286
11.8 小结 / 289
第12章 Eclipse RCP扩展点开发 / 290
12.1 扩展点简介 / 290
12.2 创建扩展点 / 290
12.3 扩展点编辑器 / 291
12.3.1 扩展点概述 / 291
12.3.2 扩展点定义 / 292
12.3.3 扩展点源码 / 295
12.4 扩展点处理 / 295
12.4.1 扩展点对象 / 295
12.4.2 扩展点注册 / 296
12.4.3 扩展点获取 / 297
12.5 添加扩展 / 301
12.6 使用扩展 / 302
12.7  小结 / 303
第三部分 实 战 篇
第13章 Eclipse RCP与Spring OSGi / 306
13.1 OSGi技术介绍 / 306
13.1.1 软件开发面临的问题 / 306
13.1.2 动态模块化解决方案 / 306
13.1.3  OSGi框架 / 307
13.1.4 选择合适的OSGi实现 / 308
13.2 Spring OSGi项目所需要的开发包 / 308
13.2.1 下载Spring DM的开发包 / 308
13.2.2 解压缩Spring DM的开发包 / 309
13.2.3 创建Spring DM目标平台 / 309
13.3 Spring OSGi项目的Maven管理 / 311
13.3.1 创建Maven POM项目 / 311
13.3.2 修改Maven项目类型 / 312
13.4 Spring OSGi项目的模块化设计 / 313
13.4.1 创建Spring DM业务项目 / 313
13.4.2 设计Spring DM业务项目 / 313
13.5  Spring OSGi项目转为插件项目 / 318
13.6 Spring OSGi插件项目发布接口 / 319
13.6.1 创建接口发布配置 / 319
13.6.2 添加包的路径导出 / 319
13.7 Eclipse RCP获取Spring OSGi服务 / 320
13.7.1 创建Eclipse RCP UI 插件 / 320
13.7.2  获取Spring OSGi服务接口 / 320
13.7.3  调用Spring OSGi服务接口 / 321
13.8 Eclipse RCP与Spring OSGi的启动 / 322
13.8.1 Eclipse 应用程序启动选项 / 322
13.8.2 启动Eclipse RCP产品配置 / 326
13.8.3 启动基于Spring OSGi的RCP程序 / 326
13.9 在Eclipse RCP中获取ApplicationContext和Bean / 328
13.10 Spring OSGi的Maven插件项目打包 / 331
13.10.1 PDE插件导出向导 / 331
13.10.2 Maven插件项目的打包配置 / 332
13.10.3 执行Maven插件打包 / 333
13.11 小结 / 334
第14章 Eclipse RCP与数据访问 / 335
14.1 SpringOSGi与Hibernate / 335
14.1.1 Hibernate简介 / 335
14.1.2 数据访问插件目标 / 335
14.1.3 数据访问插件设计 / 336
14.2 插件如何引入第三方开发包 / 338
14.2.1 如何获取第三方开发包 / 338
14.2.2 如何引用第三方开发包 / 341
14.3 将普通JAR转成插件格式 / 344
14.3.1 导入向导 / 344
14.3.2 BND工具 / 344
14.4 创建数据库插件 / 345
14.4.1 Maven POM配置文件 / 345
14.4.2 properties配置文件 / 346
14.4.3 Spring XML配置文件 / 346
14.4.4 MAINFEST.MF配置文件 / 349
14.5  创建连接池插件 / 349
14.5.1  Maven POM配置文件 / 349
14.5.2 properties配置文件 / 349
14.5.3  Spring XML配置文件 / 350
14.5.4 Java类设计 / 352
14.5.5 MAINFEST.MF配置文件 / 355
14.6  创建连接池Feature插件 / 355
14.6.1 修改DBCP的MAINFEST.MF文件 / 356
14.6.2 创建DBCP的Fragment插件 / 356
14.7 创建Hibernate插件 / 356
14.7.1  Maven POM配置文件 / 356
14.7.2 properties配置文件 / 358
14.7.3 Spring XML配置文件 / 358
14.7.4 扩展点设计 / 362
14.7.5 Java类设计 / 364
14.7.6 MAINFEST.MF配置文件 / 371
14.8 创建业务插件 / 371
14.8.1 Spring XML配置文件 / 372
14.8.2 Java类设计 / 375
14.8.3 数据库SQL设计 / 376
14.8.4 MAINFEST.MF配置文件 / 376
14.8.5 添加BundleAnnotationSessionFactoryBean扩展 / 377
14.9  启动OSGi Framework程序 / 378
14.10  其他整合数据库的方式 / 379
14.11 基于数据访问插件的RCP程序启动 / 380
14.12 小结 / 382
第15章 Eclipse与Java的模块化设计 / 383
15.1  基于编程语言的模块化 / 383
15.1.1 Java语句的模块化设计 / 383
15.1.2 Java方法的模块化设计 / 383
15.1.3 Java类的模块化设计 / 384
15.1.4 Java接口的模块化设计 / 385
15.2  基于编程方法的模块化 / 385
15.2.1 IoC编程的模块化设计 / 385
15.2.2 AOP编程的模块化设计 / 386
15.3  基于程序物理文件的模块化 / 388
15.3.1 Package路径的模块化设计 / 388
15.3.2 XML文件的模块化设计 / 389
15.3.3 Properties文件的模块化设计 / 389
15.3.4 JAR组件的模块化设计 / 390
15.4  基于技术架构的模块化 / 391
15.4.1 OSGi的模块化设计 / 391
15.4.2 Eclipse插件的模块化设计 / 392
15.4.3 JMS的模块化设计 / 392
15.5 模块化的技术移植 / 394
15.6 小结 / 394

教学资源推荐
作者: 郑阿奇 主编 顾韵华 等编著
作者: 郑阿奇,梁敬东 主编
作者: (美)Clovis L.Tondo,Scott E.Gimpel
作者: (美) Bruce Eckel
参考读物推荐
作者: Donald Thompson;Rob S. Miles
作者: 黄永祥 编著
作者: (美)John Lakos 著
作者: (美) Emad Benjamin 著