Spring in Action中文版
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,Java,Spring,
品牌: 沃尔斯
基本信息·出版社:人民邮电出版社
·页码:382 页
·出版日期:2006年
·ISBN:7115143153
·条形码:9787115143150
·包装版本:2006-03-01
·装帧:平装
·开本:16开
产品信息有问题吗?请帮我们更新产品信息。
内容简介《Spring in Action中文版》介绍了Spring背后的原理,引领你迅速进入对框架的体验之中。结合简短代码片断和贯穿全书的持续示例,《Spring in Action中文版》向你展示了如何创建简单有效的J2EE应用系统。你将看到如何使用先进的开源工具解决持久层问题,以及如何将你的应用系统与其他流行Web框架集成。你将学习如何使用Spring管理大量的基础设施代码,这样你就可以将注意力集中在真正的问题上――重要的业务需要。Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础,无需EJB而功能依然强大的轻量级J2EE开发框架。Spring大大简化了使用接口开发的复杂性,并且加快和简化了应用系统的开发。使用简单JavaBean就可以得到EJB的强大功能。《Spring in Action中文版》分为三大部分和两个附录,每一部分专注于Spring框架的一个领域:核心层、中间层和Web层。第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented Programming,AOP),以便读者理解Spring的基础原理,这些基础原理在《Spring in Action中文版》各个章节都会用到。第二部分在第1章介绍的IoC和AOP基础之上,展示了如何将这两个概念应用到应用系统的中间层。第三部分走出中间层迈向显示层,在很多J2EE系统中显示层被称为Web层。附录A介绍如何开始自己的Spring应用系统,如何下载Spring以及如何编写Ant配置文件。附录B介绍一些与Spring有关的其他开源框架。《Spring in Action中文版》的每一部分既是建立在前一部分的基础上,同时也都是独立存在的,所以,读者不必从头开始就可以深入到各个主题。
作者简介Craig Walls,是一个在通信、金融、零售以及电子商务领域有着十几年开发经验的专业软件工程师,他也是XDoclet in Action这本书的作者之一。他经常在用户组和用户会议中出现,他目前住在得克萨斯州的Denton。
李磊,曾就职于VIA。目前在阿里巴巴从事“支付宝”开发工作,是一位资深开发工程师。有5年J2SE及J2EE开发经验,熟悉大量Java开源项目。目前住在美丽的西子湖畔——杭州。
媒体推荐书评
Spring是掠过Java大地的一阵清风。Spring是以反向控制设计原理为基础,无需EJB而功能依然强大的轻量级J2EE开发框架。Spring大大简化了使用接口开发的复杂性,并且加快和简化了应用系统的开发。使用简单JavaBean就可以得到EJB的强大功能。
本书介绍了Spring背后的原理,引领你迅速进入对框架的体验之中。结合简短代码片断和贯穿全书的持续示例,本书向你展示了如何创建简单有效的J2EE应用系统。你将看到如何使用先进的开源工具解决持久层问题,以及如何将你的应用系统与其他流行Web框架集成。你将学习如何使用Spring管理大量的基础设施代码,这样你就可以将注意力集中在真正的问题上——重要的业务需要。
本书内容:
·使用Hibernate、JDO、iBatis、OJB以及JDBC开发持久层;
·声明式事务与事务管理;
·与其他Web框架集成:Struts、WebWork、Tapestry、Velocity;
·访问J2EE服务,如JMS和EJB;
·使用AOP解决交叉问题;
·企业组应用系统最佳实践。
“……一种解释Spring中各个主题的很好途径……我喜欢这本书”
——Christian Parker,Adigio公司总裁
“……没有其他书籍可以与这本书的实用性相提并论。”
——Olivier Jolly,J2EE构架师,Interface SI
“我很喜欢这种展示Spring的方式。”
——Norman Richards,XDoclet in Action的作者之一
“我极力推荐这本书。”
——Jack Herrington,Code Generation in Action的作者
编辑推荐《Spring in Action中文版》适合所有Java开发人员,特别是对企业级Java开发人员更有帮助。《Spring in Action中文版》将循序渐进地指导读者浏览贯穿《Spring in Action中文版》的复杂示例。Spring最突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏《Spring in Action中文版》中的示例代码。《Spring in Action中文版》最后4章描述了Spring是如何为Web层开发提供支持的,如果你是一位Web开发人员,你会发现《Spring in Action中文版》的最后一部分特别有用。
目录
第一部分 Spring基础
第1章 开始Spring之旅
1.1 为什么使用Spring
1.1.1 J2EE开发者的一天
1.1.2 Spring的承诺
1.2 Spring是什么
1.3 开始Spring之旅
1.4 理解反向控制
1.4.1依赖注入
1.4.2 IOC 应用
1.4.3 企业级应用中的IoC
1.5 应用AOP
1.5.1 AOP介绍
1.5.2 AOP使用
1.5.3 企业级应用中的AOP
1.6 Spring 比较
1.6.1 比较Spring和EJB
1.6.2 关于其他轻量级容器
1.6.3 Web 框架
1.6.4 持久层框架
1.7 小结
第2章 装配Bean
2.1 容纳你的Bean
2.1.1 BeanFactory介绍
2.1.2 使用应用上下文
2.1.3 Bean的生命
2.2 基本装配
2.2.1 使用XML装配
2.2.2 添加一个Bean
2.2.3 通过Set方法注入依赖
2.2.4 通过构造函数注入依赖
2.3 自动装配
2.3.1 处理自动装配中的不确定性
2.3.2 混合使用自动和手动装配
2.3.3 缺省自动装配
2.3.4 何时采用自动装配
2.4 使用Spring的特殊Bean
2.4.1 对Bean进行后处理
2.4.2 对Bean 工厂进行后处理
2.4.3 分散配置
2.4.4 定制属性编辑器
2.4.5 解析文本信息
2.4.6 监听事件
2.4.7 发布事件
2.4.8 感知其他Bean
2.5 小结
第3章 创建切面
3.1 AOP介绍
3.1.1 定义AOP术语
3.1.2 Spring的AOP实现
3.2 创建通知
3.2.1 前置通知
3.2.2 后置通知
3.2.3 环绕通知
3.2.4 异常通知
3.2.5 引入通知
3.3 定义切入点
3.3.1 在Spring中定义切入点
3.3.2 理解Advisor
3.3.3 使用Spring的静态切入点
3.3.4 使用动态切入点
3.3.5 切入点实施
3.4 创建引入
3.4.1 实现IntroductionInterceptor
3.4.2 创建一个引入Advisor
3.4.3 谨慎使用引入通知
3.5 使用ProxyFactoryBean
3.6 自动代理
3.6.1 BeanNameAutoProxyCreator
3.6.2 DefaultAdvisorAutoProxyCreator
3.6.3 元数据自动代理
3.7 小结
第二部分 Spring在业务层的应用
第4章 征服数据库
4.1 学习Spring的DAO理念
4.1.1 理解Spring的DataAccessException
4.1.2 与DataSource一起工作
4.1.3 一致的DAO支持
4.2 在Spring中使用JDBC
4.2.1 JDBC代码的问题
4.2.2 使用JdbcTemplate
4.2.3 把操作创建成对象
4.2.4 自增键
4.3 介绍Spring的ORM框架支持
4.4 用Spring整合Hibernate
4.4.1 Hibernate概览
4.4.2 管理Hibernate资源
4.4.3 用HibernateTemplate访问Hibernate
4.4.4 HibernateDaoSupport的子类
4.5 Spring和JDO
4.5.1 配置JDO
4.5.2 用JdoTemplate访问数据库
4.6 Spring和IBATIS
4.6.1 配置SQL Maps
4.6.2 使用SqlMapClientTemplate
4.7 Spring和OJB
4.7.1 配置OJB的PersistenceBroker
4.8总结
第5章 事务管理
5.1 理解事务
5.1.1 仅用4个词解释事务
5.1.2 理解Spring对事务管理的支持
5.1.3 介绍Spring的事务管理器
5.2 在Spring中编写事务
5.3 声明式事务
5.3.1 理解事务属性
5.3.2 声明一个简单的事务策略
5.4 通过方法名声明事务
5.4.1使用NameMatchTransactionAttributeSource
5.4.2 名称匹配事务的捷径
5.5 用元数据声明事务
5.5.1 用元数据来书写事务属性
5.5.2 用Commons Attributes声明事务
5.6 修减事务声明
5.6.1从父TransactionProxyFactoryBean继承
5.6.2自动代理事务
5.7 小结
第6章 远程调用
6.1 Spring远程调用概览
6.2 与RMI一起工作
6.2.1 连接RMI服务
6.2.2 输出RMI服务
6.3 使用Hessian和Burlap的远程调用
6.3.1 访问Hessian/Burlap服务
6.3.2 用Hessian或Burlap公开bean的功能
6.4 使用Http Invoker
6.4.1 通过HTTP访问服务
6.4.2 把Bean作为HTTP服务公开
6.5 使用EJB
6.5.1 访问EJB
6.5.2 用Spring开发EJB
6.6 使用JAX-RPC的Web Services
6.6.1 用JAX-RPC应用一个Web Service
6.6.2 在Spring里置入一个web service
6.7 总结
第7章 访问企业服务
7.1 从JNDI中获取对象
7.1.1 使用传统的JNDI
7.1.2 代理JNDI对象
7.2 发送电子邮件
7.3 调度任务
7.3.1 使用Java Timer调度任务
7.3.2 使用Quartz调度器
7.3.3 按调度计划调用方法
7.4 使用JMS发送消息
7.4.1 使用JMS模板发送消息
7.4.2 消费消息
7.4.3 转换消息
7.5 小结
第三部分 Spring 在Web层的应用
第8章 建立Web层
8.1 开始Spring MVC之旅
8.1.1 请求生命中的一天
8.1.2 配置DispatcherServlet
8.1.3 Spring MVC概要
8.2 将请求映射到控制器
8.2.1 将URL映射到Bean名称
8.2.2 使用SimpleUrlHandlerMapping
8.2.3 使用元数据映射控制器
8.2.4 使用多映射处理器
8.3 用控制器处理请求
8.3.1 编写一个简单的控制器
8.3.2 处理命令
8.3.3 处理表单提交
8.3.4 用向导处理复杂表单
8.3.5 在一个控制器中处理多个动作
8.3.6 使用一次性控制器
8.4 视图解析
8.4.1 使用模板视图
8.4.2 解析视图Bean
8.4.3 选择视图解析器
8.5 使用Spring的绑定标签
8.6 处理异常
8.7 小结
第9章 其他视图技术
9.1 使用Velocity模板
9.1.1 定义Velocity视图
9.1.2 配置Velocity引擎
9.1.3 解析Velocity视图
9.1.4 格式化日期和数字
9.1.5 暴露请求和会话属性
9.1.6 在Velocity中绑定表单域
9.2 使用FreeMarker
9.2.1 构造一个FreeMarker视图
9.2.2 配置FreeMarker引擎
9.2.3 解析FreeMarker视图
9.2.4 在FreeMarker中绑定表单域
9.3 使用Tiles设计页面布局
9.3.1 Tile视图
9.3.2 Tile控制器
9.4 产生非HTML输出
9.4.1 产生Excel工作表
9.4.2 产生PDF文档
9.4.3 产生其他非HTML文件
9.5 小结
第10章 使用其他Web框架
10.1 使用Jakarta Struts
10.1.1 注册Spring插件
10.1.2 实现知晓Spring的Struts action
10.1.3 委托action
10.2 使用Tapestry
10.2.1 替换Tapestry引擎
10.2.2 装载Spring Bean至Tapestry页面中
10.3 集成JavaServer Faces
10.3.1 解析变量
10.3.2 发布请求已处理事件
10.4 集成 WebWork
10.4.1 WebWork 1
10.4.2 XWork/WebWork2
10.5 小结
第11章 保护Spring应用程序
11.1 Acegi安全系统介绍
11.1.1 安全拦截器
11.1.2 认证管理器
11.1.3 访问决策管理器
11.1.4 运行身份管理器
11.2 管理身份验证
11.2.1 配置ProviderManager
11.2.2 根据数据库验证身份
11.2.3 根据LDAP仓库进行身份验证
11.2.4 基于Acegi和Yale CAS实现单次登录
11.3 控制访问
11.3.1 访问决策投票
11.3.2 决定如何投票
11.3.3 处理投票弃权
11.4 保护Web应用程序
11.4.1 代理Acegi的过滤器
11.4.2 强制Web安全性
11.4.3 处理登录
11.4.4 设置一个安全上下文
11.4.5 确保通道安全性
11.4.6 使用Acegi的标签库
11.5 保护方法调用
11.5.1 创建一个安全切面
11.5.2 使用元数据保护方法
11.6 小结
附录A 装配Spring
A.1 下载Spring
A.2 选择一种JAR文件
A.3 搭建你的项目
A.4 利用Ant创建
附录B Spring相关项目
B.1 AppFuse
B.2 Rich Client Project
B.3 Spring.NET
……[看更多目录]
序言软件开发者需要具备许多品格,才能把开发工作做得更好。首先,他们得是善于分析的思想家以及问题的解决者。开发者最基本的任务就是制作出解决业务问题的软件。这就要求开发者能分析客户的需求,并总结出行之有效的解决方案。同时,他们要有很强的求知欲。软件行业的发展日新月异,新框架、新技术、新语言、以及新方法都不断更新变化。每一样都是一种新的工具,需要开发者去掌握并加入他的工具箱,以便他或她的工作能做得更好更快。还有一个最宝贵的品格,那就是“懒惰”。这种懒惰激励开发者努力用最小的开销找到最佳的解决方案。
文摘致谢
这本书的创作不仅仅是两个人的事情。除了两位作者之外,在各个方面很多人的参与之下才使这本书的诞生成为可能。
首先,我们要感谢Manning出版社的幕后工作人员:发行人Marjan Bace、他的助手Susan
Capparelle、我们的编辑Jackie Carter,还有Denis Dalinnik、Leslie Haimes、Mary
Piergies、Liz Welch、Susan Forsyth 和 Helen
Trimes。我们无法想象还能找到更好更专业的队伍合作。你们在自己的岗位上都做得非常好,并且应该为制作出世界上最好的技术书而得到称赞。
我们还要感谢本书的审阅者:Doug Warren、Muhammad Ashikuzzaman、Ryan
Cox、Mojahedul、Hasanat、Jack Herrington、 Olivier Jolly、William Lopez、Lester
Martin、Dmitri Maximovich、Daniel Miller、Christian Parker、 Matthew
Payne和Norman Richards,谢谢你们贡献了大量时间,提供给我们许多的反馈、批评和灵感,使本书更为完善。特别要感谢Doug
Warren,在本书印刷之前,对原稿进行技术校正。
最后,还要感谢Rod
Johnson和Spring小组的其他人,感谢他们在第一线创造了Spring。我们可以很诚实地说,使用Spring真是一件令人愉快的事。你们真是太棒了!
CRAIG WALLS
我想感谢我亲爱的美丽的妻子:Raymie。你是我一生的最爱和最好的朋友,也是我最甜蜜的梦。谢谢你对我的支持和耐心,对于还在进行中的另一个图书项目——我保证马上就会结束了。
我的合著者,Ryan,是他让我开始了解Spring并帮助我整理这本书,把Spring告诉其他所有的人。
对于我在Michaels的小组成员——Ryan、Marianna、Van、Tonji、Jeff、Jim、Don、Carol
和Leida,感谢你们每一天都展现了一个世界级软件开发小组的水平和能力。现在这本书终于完成了,或许我将不用再谢绝这么多午餐邀请了!
感谢我在今年的全国巡回软件研讨会No-Fluff/Just-Stuff上遇到和交谈的朋友和同事:Glenn Vanderburg、Ted
Neward、Bruce Tate、Venkat Subramaniam、Ramnivas Laddad、Dave Thomas、Erik
Hatcher、 Howard Lewis Ship、Neal Ford、Rick Hightower、Ben Galbraith、Stuart
Halloway 和 Matt Raible。感谢Jay Zimmerman一直以来的指导,并在2004年邀请我成为其中一员。
感谢在背后支持我的朋友和邻居:John、Jennifer以及经常为Raymie和我提供比萨饼、电影,还有忙里偷闲的休息的Tobey。
感谢Dick Wolf创办的“法律&秩序”,这个电
……[看更多书摘]