| 作者: | Arnaud Cogoluègnes, Thierry Templier and Andy Piper |
| 语言: | 英文 |
| 出版年份: | 2010 |
| 编程语言: | Java |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
Spring Dynamic Modules in Action 不是一本纯 Spring 书,也不是一本纯 OSGi 书——它解决的是两者交汇处的真实工程问题:如何把 Spring 的依赖注入、AOP 和企业服务能力带入 OSGi 的模块化运行时,同时应对现有 Java 库在模块化环境中"水土不服"的困境。全书以 Spring DM(后标准化为 Blueprint 规范)为主线,覆盖从概念到生产的完整路径,是 Manning "In Action" 系列中少数直面 OSGi 工程复杂性的实战指南。
全书沿三条递进线索展开:先建立 OSGi 模块化心智模型(bundle、生命周期、服务注册),再展示 Spring DM 如何将 Spring 的声明式配置嵌入 OSGi 容器,最后深入企业级集成——数据访问、Web 框架、事务、测试与安全。贯穿始终的核心问题是:如何把传统 Java 应用拆分为可独立部署、动态更新的 OSGi bundle,同时不丢失 Spring 生态的便利性。
| 章节 | 主题 |
|---|---|
| 第一章 模块化开发 | Java 模块化困境、Spring DI/AOP 回顾、OSGi 分层架构、Spring DM Hello World |
| 第二章 OSGi 技术基础 | bundle 结构与生命周期、类加载隔离、Import-Package vs Require-Bundle、服务注册与消费 |
| 第三章 Spring DM 入门 | OSGi 内嵌 Spring 上下文、extender 机制、bundle 打包与部署、web bundle 开发 |
| 第四章 Spring DM Extender | 标准 extender 与 web extender 详解、应用上下文生命周期、whiteboard 模式、类加载策略 |
| 第五章 OSGi 服务集成 | 服务依赖注入(XML/注解)、线程上下文类加载器、服务动态性处理、集合排序与贪婪代理 |
| 第六章 企业应用设计 | OSGi-ify 现有库(手工/工具转换)、企业 bundle 仓库构建、应用动态行为与版本演进 |
| 第七章 数据访问 | JDBC 在 OSGi 中的配置与陷阱、JPA 集成与 load-time weaving、事务管理、open EntityManager in view |
| 第八章 Web 组件开发 | Spring MVC、JSF、Wicket 集成;DWR、GWT 等 AJAX 框架;Spring WS 与 Restlet Web 服务 |
| 第九章 高级概念 | extender 定制与扩展、嵌入式 Web 容器(Tomcat/Jetty)、Java 2 安全模型、高级设计模式 |
| 第十章 测试 | OSGi mock 与严格单元测试、集成测试框架、测试支撑高级特性 |
| 第十一章 Compendium 服务 | Configuration Admin Service 配置管理、Event Admin Service 事件桥接 |
| 第十二章 Blueprint 规范 | Spring DM 标准化历程、Blueprint 容器语法(bean/service/reference)、生命周期与类型转换 |
| 附录 | Eclipse、Maven 2、Ant+Ivy、Pax 工具四种开发环境搭建指南 |
适合有 Spring 实战经验的 Java 开发者,希望将单体应用演进为模块化 OSGi 架构。也适合已接触 OSGi 但苦于配置繁琐、想借助 Spring 简化开发的工程师。需要扎实的 Java 基础和 Spring DI/AOP 概念,不适合 Java 初学者或对 OSGi 完全零基础的读者。若你的项目不涉及模块化需求或动态部署场景,本书的大部分内容可能用不上。
本书在 Spring DM 生态中地位独特——它是少数系统讲解"Spring + OSGi"组合而非孤立介绍某一方的著作。优点在于实战导向:每章都有可运行的代码示例,且不回避现实痛点(如第三方库的 OSGi-ify、类加载陷阱、服务动态性)。第 12 章对 Blueprint 规范的梳理具有历史价值,附录覆盖四种构建工具也降低了上手门槛。局限在于出版于 2011 年,部分工具版本(Maven 2、Spring DM 1.x)已过时,但模块化架构思想和 Spring-OSGi 集成模式至今仍有参考意义。