![](https://csdnimg.cn/release/download_crawler_static/6752797/bg1.jpg)
OpenDoc Series’
Spring 开发指南
V0.8 预览版
作者:夏昕 xiaxin(at)gmail.com
So many open source projects. Why not Open your Documents? J
![](https://csdnimg.cn/release/download_crawler_static/6752797/bg2.jpg)
SpringFrameWork Developer’s Guide Version 0.6
October 8, 2004 So many open source projects. Why not Open your Documents?
文档说明
参与人员:
作者 联络
夏昕 xiaxin(at)gmail.com
(at) 为 email @ 符号
发布记录
版本 日期 作者 说明
0.5 2004.6.1 夏昕 第一预览版
0.6 2004.9.1 夏昕 补充“持久层”内容。
0.7 2004.9.10 夏昕 追加: Webwork / Struts in Spring
增加 PDF 格式文档书签。
修订“依赖注入实现类型”
0.8 2004.9.20 夏昕 增加 AOP 部分
OpenDoc 版权说明
本文档版权归原作者所有。
在免费、且无任何附加条件的前提下,可在网络媒体中自由传播。
如需部分或者全文引用,请事先征求作者意见。
如果本文对您有些许帮助,表达谢意的最好方式,是将您发现的问题和文档改进意见及时反馈给
作者。当然,倘若有时间和能力,能为技术群体无偿贡献自己的所学为最好的回馈。
Open Document,并不是笔者一个人力所能及的事情,欢迎所有读者对文档中的谬误,以及不合
理的地方给予指正。
![](https://csdnimg.cn/release/download_crawler_static/6752797/bg3.jpg)
SpringFrameWork Developer’s Guide Version 0.6
October 8, 2004 So many open source projects. Why not Open your Documents?
Spring 开发指南
前言
2003 年年初,笔者在国外工作。其时,一位与笔者私交甚好的印度同事 Paradeep 从
公司离职去斯坦福深造,临走送给笔者一本他最钟爱的书籍作为纪念。
工作间隙,时常见到他摩娑此书,摇头不止( 印度人习惯和中国人相反,摇头代表肯定、
赞同,相当于与中国人点头。笔者刚开始与印度同僚共事之时,每每组织项目会议,一 屋子
人频频摇头,让笔者倍感压力……J)。
下班后,带着好友离职的失落,笔者夹着这本书走在回家的路上,恰巧路过东海岸,天
色依然明朗,随意坐上了海边一家酒吧的露天吧台,要了杯啤酒,随手翻弄着书的扉页,不
经意看见书中遍布的钢笔勾画的线条。
“呵呵,Paradeep 这家伙,还真把这本书当回事啊”,一边笑着,一边摊开了此书,
想看看到底是怎样的书让这样一个聪明老练的同事如此欣赏。
从此开始,这本书伴随笔者度过了整整一个月的业余时间……..
这本书,也就是出自 Rod Johnson 的:
《Expert One-on-One J2EE Design and Development》
此书已经由电子工业出版社出版,译版名为《J2EE设计开发编程指南》。
半年后,一个新的 Java Framework 发布,同样出自 Rod Johnson 的手笔,这自然
引起了笔者极大的兴趣,这就是 SpringFramework。
SpringFramework 实 际 上 是 Expert One-on-One J2EE Design and
Development 一书中所阐述的设计思想的具体实现。在 One-on-One 一书中,Rod
Johnson 倡导 J2EE 实用主义的设计思想,并随书提供了一个初步的开发框架实现
(interface21 开发包)。而 SpringFramework 正是这一思想的更全面和具体的体现。
Rod Johnson 在 interface21 开发包的基础之上,进行了进一步的改造和扩充,使其发展
为一个更加开放、清晰、全面、高效的开发框架。
本文正是针对 SpringFramework 的开发指南,讲述了 SpringFramework 的设计思
想以及在开发中的实际使用。同时穿插了一些笔者在项目实作中的经验所得。
![](https://csdnimg.cn/release/download_crawler_static/6752797/bg4.jpg)
SpringFrameWork Developer’s Guide Version 0.6
October 8, 2004 So many open source projects. Why not Open your Documents?
目录
Spring 初探.........................................................................................................................................6
准备工作.........................................................................................................................................6
构建 Spring 基础代码 ....................................................................................................................7
Spring 基础语义 ...............................................................................................................................13
Dependency Injection.................................................................................................................13
依赖注入的几种实现类型 .........................................................................................................16
Type1 接口注入....................................................................................................................16
Type2 设值注入....................................................................................................................17
Type3 构造子注入 ................................................................................................................17
几种依赖注入模式的对比总结 .............................................................................................17
Spring Bean 封装机制 ..................................................................................................................19
Bean Wrapper............................................................................................................................19
Bean Factory............................................................................................................................20
ApplicationContext.....................................................................................................................23
Web Context..............................................................................................................................28
Spring 高级特性 ...............................................................................................................................29
Web 应用与 MVC...............................................................................................................................29
Spring MVC................................................................................................................................30
Spring MVC 指南...................................................................................................................30
基于模板的 Web 表示层技术 .................................................................................................44
Web 应用中模板技术与 JSP 技术的对比 ...............................................................................49
输入验证与数据绑定 ............................................................................................................51
异常处理 ...............................................................................................................................62
国际化支持 ...........................................................................................................................64
WebWork2 & Spring.......................................................................................................................68
Quick Start .........................................................................................................................69
WebWork 高级特性................................................................................................................82
Action 驱动模式...............................................................................................................82
XWork 拦截器体系.............................................................................................................87
输入校验...........................................................................................................................93
国际化支持 .....................................................................................................................107
Webwork2 in Spring......................................................................................................110
Struts in Spring.......................................................................................................................118
数据持久层 ..................................................................................................................................127
事务管理..................................................................................................................................127
持久层封装..............................................................................................................................131
JDBC.....................................................................................................................................131
Hibernate in Spring........................................................................................................139
ibatis in Spring..............................................................................................................146
Aspect Oriented Programming..................................................................................................150
AOP 概念...................................................................................................................................150
AOP in Spring........................................................................................................................153
![](https://csdnimg.cn/release/download_crawler_static/6752797/bg5.jpg)
SpringFrameWork Developer’s Guide Version 0.6
October 8, 2004 So many open source projects. Why not Open your Documents?
Dynamic Proxy 与 Spring AOP ..........................................................................................153
CGLib 与 Spring AOP.........................................................................................................163
AOP 应用 .............................................................................................................................165
DAO Support............................................................................................................................169
Remoting...................................................................................................................................169