内容简介:
本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致强烈推荐。
国内第一本基于Spring3.0的著作,从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从木书中参透Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java语言的精髓。此外,本书还展示了阅读源代码的卓越方法,不仅授你以鱼,而且还授你以渔!
如果你以一种淡定的心态翻开这本书,无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从本书中受益。
本书特色:
作者从业10余载,悟透Spring等开源软件的本质,权威性毋庸置疑。
Java开发者社区、专业Spring开发者社区和架构师社区一致鼎力推荐!
深入解析Spring架构原理与设计思想,探究Spring成功的奥秘。
揭开Spring源代码的神秘面纱,展示系统阅读开源软件源代码的方法和秘诀。
如果你也在思考下面的问题,本书也许就是你想要的:
掌握Spring的架构原理与设计思想真的能让开发者如虎添翼吗?
IoC容器如何掌控以POJO为基础的Bean对象?它的轻量级开发设计思想是如何实现的?
Spring产品级的IoC容器是如何作为一个完整的系统实现并运行的?它如何启动?如何完成Bean的解析和载入?又如何实现Bean的生命周期管理?
Spring如何简捷地在JVM上实现AOP功能?
Spring AOP如何实现Aspect编织功能?
Spring如何实现各种数据库操作组件的集成?
Spring如何在Web环境中集成IoC容器并为Web应用开发提供利器?
我们耳熟能详的MVC模式在Spring中是如何实现的?
Spring MVC如何灵活地集成各种丰富的视图展现方案?
Spring实现远端调用的方案有很多种,你知道它们之间的优劣差异吗?
Spring ACEGI安全框架在用户验证和授权机制的实现上有何过人之处?
如何在Spring的基础上进行扩展开发?
你是否曾经也有过分析开源软件源代码的冲动?你想掌握分析源代码的最佳实践吗?...
本书赞誉:
作为一个有近10年历史的成功框架,Spnng在Java开发中具有举足轻重的作用。本书从源代码分析入手,对Spring的架构原理和设计思想进行了全面剖析,不仅能让我们更深入、更彻底地认识Spring,领略Spring的架构之美和设计之美,而且更重要的是,它将全面提升我们的Spring开发技能。.
——Spring开发者社区
这是值得所有Spnng开发者反复研读的一本书。Spring是一个优秀的轻量级企业应用开发框架,是Java开发中最流行的工具之一,也是Java程序员必须熟练掌握的一门技术之一。本书从Spring实现原理的角度揭开了Spring的神秘面纱,使得我们在利用Spring进行开发时,不仅能知其然,还能知其所以然,从本质上提升我们对Spring的理解和开发水平。
——Spring中文用户组
这是所有Java程序员应该认真阅读的一本书。Spring框架主要是用Java语言来实现的,本书对大量经典的、优雅的Spring实现代码进行了赏析,不禁让我们感慨Rod Johnson(Spring之父)对Java语言的运用之精妙。如果能跟随本书穿越Spring源代码的丛林,也许我们对Java语言的理解和掌握将会有质的飞跃。..
——中文Java技术网
这是所有软件架构师必备的一本书。成为一名出色的软件架构师,也许是每一位开发者的梦想。在成长为架构师的过程中,在实践中积累并总结经验固然很重要,但是从现有的成功架构中取经也是必不可少的。本书对Spring的各个功能模块的架构原理和设计思想进行了深入剖析,值得所有架构师用心体会和研究,必将受益匪浅。...
——架构师中国
本书赞誉
前言
致谢
第1章准备源代码环境 1
1.1安装JDK 1
1.2安装Eclipse 1
1.3安装辅助工具 2
1.4获取Spring源代码 8
1.5Spring源代码的组织结构 10
1.6小结 12
第一部分Spring核心实现篇
第2章Spring Framework的核心:IoC容器的实现 16
2.1Spring IoC容器概述 16
2.1.1IoC容器和依赖反转模式 16
2.1.2Spring的IoC容器系列 18
2.2IoC容器系列的实现:BeanFactory 和ApplicationContext 20
2.2.1BeanFactory对IoC容器的功能定义 20
2.2.2IoC容器XmlBeanFactory的工作原理 22
2.2.3ApplicationContext的特点 24
2.3IoC容器的初始化 25
2.3.1BeanDefinition的Resource定位 26
2.3.2BeanDefinition的载入和解析 33
2.3.3BeanDefinition在IoC容器中的注册 47
2.4IoC容器的依赖注入 49
2.5容器其他相关特性的实现 70
2.5.1lazy-init属性和预实例化 70
2.5.2FactoryBean的实现 73
2.5.3BeanPostProcessor的实现 75
2.5.4autowiring的实现原理 78
2.6小结 80
第3章Spring AOP的实现 82
3.1Spring AOP概述 82
3.1.1AOP概念回顾 82
3.1.2Advice通知 84
3.1.3Pointcut切点 88
3.1.4Advisor通知器 90
3.2建立AopProxy代理对象 92
3.2.1配置ProxyFactoryBean 92
3.2.2ProxyFactoryBean生成AopProxy 94
3.2.3JDK生成AopProxy代理对象 98
3.2.4CGLIB生成AopProxy代理对象 99
3.3Spring AOP拦截器调用的实现 101
3.3.1JdkDynamicAopProxy的invoke拦截 101
3.3.2Cglib2AopProxy的intercept拦截 103
3.3.3目标对象方法的调用 105
3.3.4AOP拦截器链的调用 105
3.3.5配置通知器 107
3.3.6Advice通知的实现 112
3.3.7ProxyFactory实现AOP 118
3.4Spring AOP的高级特性 120
3.5小结 121
第二部分Spring组件实现篇
第4章Spring MVC与Web环境.. 127
4.1概述 127
4.2Web环境中的Spring MVC 128
4.3IoC容器在Spring MVC中的启动 130
4.3.1Web容器中的上下文 130
4.3.2ContextLoader建立Web环境的根上下文 132
4.4Spring Web MVC的启动 136
4.4.1DispacherServlet概述 136
4.4.2DispacherServlet的启动和初始化 137
4.5Spring MVC的实现 141
4.5.1DispatcherSevlet的MVC初始化 141
4.5.2HandlerMapping的配置 143
4.5.3使用HandlerMapping完成请求的映射处理 148
4.5.4Spring MVC对HTTP请求的分发处理 150
4.6Spring MVC视图的呈现 155
4.6.1DispatcherServlet视图呈现概述 155
4.6.2JSP视图的实现 157
4.6.3ExcelView的实现 160
4.6.4PDF视图的实现 163
4.7小结 165
第5章数据库操作组件的实现 167
5.1Spring JDBC和Spring ORM概述 167
5.2Spring JDBC模板类的实现 167
5.2.1JdbcTeamplate的基本使用 167
5.2.2JdbcTemplate的execute实现 168
5.2.3JdbcTemplate的query实现 170
5.2.4使用数据库Connection 171
5.3Spring JDBC中RDBMS操作对象的实现 172
5.3.1SqlQuery的实现 173
5.3.2SqlUpdate的实现 177
5.3.3SqlFunction 178
5.4Spring驱动Hibernate的实现 179
5.4.1配置Hibernate的SessionFactory 180
5.4.2HibernateTemplate的实现 185
5.4.3Session的管理 187
5.5Spring驱动iBatis的实现 190
5.5.1创建SqlMapClient 190
5.5.2SqlMapClientTemplate的实现 192
5.6小结 194
第6章Spring事务处理的实现 196
6.1Spring与事务处理 196
6.2声明式事务处理的基本过程 196
6.2.1事务处理拦截器的配置 197
6.2.2事务处理配置的读入 200
6.3事务处理拦截器的实现 203
6.4事务处理的实现 206
6.4.1事务处理的编程式使用 206
6.4.2事务的创建 207
6.4.3事务的挂起 214
6.4.4事务的提交 215
6.4.5事务的回滚 218
6.5具体事务处理器的实现 219
6.5.1DataSourceTransactionManager的实现 219
6.5.2HibernateTransactionManager的实现 222
6.6小结 227
第7章Spring远端调用的 实现 230
7.1Spring远端调用概述 230
7.2Spring HTTP 调用器的实现原理 232
7.2.1配置HTTP调用器客户端 232
7.2.2HTTP调用器客户端的实现 232
7.2.3配置HTTP调用器远端服务器端 237
7.2.4HTTP调用器服务器端的实现 237
7.3Spring Hession/Burlap的实现 原理 241
7.3.1Hessian/Burlap客户端的配置 241
7.3.2Hessian客户端的实现 242
7.3.3Burlap客户端的实现 244
7.3.4Hessian/Burlap服务器端的配置 247
7.3.5Hessian服务器端的实现 247
7.3.6Burlap服务器端的实现 250
7.4Spring RMI的实现 252
7.4.1Spring RMI客户端的配置 252
7.4.2Spring RMI客户端的实现 253
7.4.3Spring RMI服务器端的配置 256
7.4.4Spring RMI服务器端的实现 257
7.5小结 259
第8章安全框架ACEGI的 实现 260
8.1Spring ACEGI安全框架概述 260
8.1.1概述 260
8.1.2使用Spring IDE 261
8.1.3ACEGI的Bean配置 263
8.2配置Spring ACEGI 264
8.3ACEGI的Web过滤器实现 267
8.4ACEGI验证器的实现 269
8.4.1AuthenticationManager的authenticate 269
8.4.2DaoAuthenticationProvider的实现 271
8.4.3读取数据库用户信息 273
8.4.4完成用户信息的对比验证 276
8.5ACEGI授权器的实现 277
8.5.1与Web环境的接口FilterSecurityInterceptor 277
8.5.2授权器的实现 280
8.5.3投票器的实现 282
8.6小结 283
第三部分Spring应用篇
第9章Spring petclinic应用实例 287
9.1petclinic概述 287
9.2部署环境及数据库 289
9.3petclinic的Bean配置 290
9.4petclinic的Web页面实现 291
9.5petclinic的领域对象实现 293
9.6petclinic数据库操作的实现 294
9.6.1使用JDBC的数据库操作 294
9.6.2使用Hibernate的数据库操作 295
9.6.3使用JPA的数据库操作 297
9.7小结 298
《ATT&CK与威胁猎杀实战》内容简介:本书主要介绍ATT&CK框架与威胁猎杀。第1部分为基础知识,帮助读者了解如何收集数据以及如何通过
《纽约时报》著名专栏作家兰德尔•斯特罗斯(RandallStross)是被允许进入高度机密的谷歌总部从事采访活动的第一人,在本书中,他
《乐高创意机器人教程(中级·下册:10~16岁)》内容简介:本书为青少年机器人创新教育课程,以乐高机器人套件为教具,围绕机械结构
《中国口腔种植体概览》内容简介:书中不仅介绍了国际和我国口腔种植学的发展概况以及口腔种植的成功标准、临床应用原则、解剖学基
DonBox是微软公司的架构师,主要研究方向为下一代Web服务协议和程序设计模型。Don是软件集成技术方面的权威。在上世纪90年代,他
《商务英语写作100主题》内容简介:互联网+时代,你最需要的英语学习书! 100个商务主题,200篇标准范文,2000余个扩充例句,微信推
《智慧教育(第二版)》内容简介:《智慧教育(第二版)》汲取了近年来智慧教育发展的新理念、新技术、新方案,致力于构建一个相对完
《德国国际危机管理与实践研究》内容简介:当前欧洲正处在异常艰难的时期——欧债危机余波未平,国际政治—安全危机接连爆发,逆全
本书由上、下两篇组成。上篇为UNIX版本6的源代码,下篇是莱昂先生对UNIX操作系统版本6源代码的详细分析。本书语言简洁、透彻,曾
《力的秘密》内容简介:力在人们生活中无处不在,小到种子的发芽,大到宇宙飞船的升空,力无时无刻不在发挥着作用。本书针对青少年
Adobe Photoshop CS6中文版经典教程-(彩色版)-(附光盘) 本书特色 《adobe photoshop cs6中文版经典教程(附光盘彩色版)》...
《Struts2权威指南:基于WebWork核心的MVC开发》介绍的Struts2已经完全超出了Struts1框架原有的高度,Struts2建立在Struts1...
《代码之髓:编程语言核心概念》作者从编程语言设计的角度出发,围绕语言中共通或特有的核心概念,通过语言演变过程中的纵向比较
计算机程序设计课程往往是枯燥乏味的,而本书根据教育理论,开发了一种新的教学方法,介绍如何通过多媒体编程来学习计算机程序设
《产后恢复专业培训教材》内容简介:女性在生产完毕之后,常常会因为身体过于虚弱而需要一定的恢复和保养,这种恢复和保养被称为产
ConceptsinProgrammingLanguageselucidatesthecentralconceptsusedinmodernprogrammin...
五笔字型速查速学宝典-双色版-(含指法训练卡) 本书特色 《五笔字型速查速学宝典(双色版)》:新华字典的查询方式部首检字配有86版编码兼顾86/98版编码与拆分...
随着通信技术和Internet的快速发展,PSTN、移动网、Internet之间的融合已经成为大势所趋,人们对网络业务需求也逐步呈现多样化、
市面上有很多介绍C语言的书,但这是第一本将C语言以简洁而实用的方式介绍给读者的书籍。用C语言进行编程不仅仅是在程序中使用正确
《物联网渗透测试》内容简介:本书介绍物联网渗透测试的原理和实用技术。主要内容包括IOT威胁建模、固件分析及漏洞利用、嵌入式web