当前位置: 首页 > news >正文

Spring技术内幕

Spring技术内幕——深入解析Spring架构与设计原理

 

 

 

图 书 内 容

 

本书是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔!Java开发者社区和Spring开发者社区一致强烈推荐。

国内第一本基于Spring 3.0的著作,从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想,而且还能从Spring优雅的实现源码中一窥Java语言的精髓。此外,本书还展示了阅读源代码的卓越方法,不仅授你以鱼,而且还授你以渔!

如果你以一种淡定的心态翻开这本书,无论你是Java程序员、Spring开发者,还是平台开发人员、系统架构师,抑或是对开源软件源代码着迷的代码狂人,都能从本书中受益。

 

 

 

书 赞 誉

作为一个有近10年历史的成功框架,Spring在Java开发中具有举足轻重的作用。本书从源代码分析入手,对Spring的架构原理和设计思想进行了全面剖析,不仅能让我们更深入、更彻底地认识Spring,领略Spring的架构之美和设计之美,而且更重要的是,它将全面提升我们的Spring开发技能。
    ——Spring开发者社区


这是值得所有Spring开发者反复研读的一本书。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.5  Spring源代码的组织结构    10
1.6  小结    12


第一部分  Spring核心实现篇
第2章  Spring Framework的核心:IoC容器的实现    16
2.1  Spring IoC容器概述    16
  2.1.1  IoC容器和依赖反转模式    16
  2.1.2  Spring的IoC容器系列    18
2.2  IoC容器系列的实现:BeanFactory和ApplicationContext    20
  2.2.1  BeanFactory对IoC容器的功能定义    20
  2.2.2  IoC容器XmlBeanFactory的工作原理    22
  2.2.3  ApplicationContext的特点    24
2.3  IoC容器的初始化    25
  2.3.1  BeanDefinition的Resource定位    26
  2.3.2  BeanDefinition的载入和解析    33
  2.3.3  BeanDefinition在IoC容器中的注册    47
2.4  IoC容器的依赖注入    49
2.5  容器其他相关特性的实现    70
  2.5.1  lazy-init属性和预实例化    70
  2.5.2  FactoryBean的实现    73
  2.5.3  BeanPostProcessor的实现    75
  2.5.4  autowiring的实现原理    78
2.6  小结    80


第3章  Spring AOP的实现    82
3.1  Spring AOP概述    82
  3.1.1  AOP概念回顾    82
  3.1.2  Advice通知    84
  3.1.3  Pointcut切点    88
  3.1.4  Advisor通知器    90
3.2  建立AopProxy代理对象    92
  3.2.1  配置ProxyFactoryBean    92
  3.2.2  ProxyFactoryBean生成AopProxy    94
  3.2.3  JDK生成AopProxy代理对象    98
  3.2.4  CGLIB生成AopProxy代理对象    99
3.3  Spring AOP拦截器调用的实现    101
  3.3.1  JdkDynamicAopProxy的invoke拦截    101
  3.3.2  Cglib2AopProxy的intercept拦截    103
  3.3.3  目标对象方法的调用    105
  3.3.4  AOP拦截器链的调用    105
  3.3.5  配置通知器    107
  3.3.6  Advice通知的实现    112
  3.3.7  ProxyFactory实现AOP    118
3.4  Spring AOP的高级特性    120
3.5  小结    121


第二部分  Spring组件实现篇
第4章  Spring MVC与Web环境    127
4.1  概述    127
4.2  Web环境中的Spring MVC    128
4.3  IoC容器在Spring MVC中的启动    130
  4.3.1  Web容器中的上下文    130
  4.3.2  ContextLoader建立Web环境的根上下文    132
4.4  Spring Web MVC的启动    136
  4.4.1  DispacherServlet概述    136
  4.4.2  DispacherServlet的启动和初始化    137
4.5  Spring MVC的实现    141
  4.5.1  DispatcherSevlet的MVC初始化    141
  4.5.2  HandlerMapping的配置    143
  4.5.3  使用HandlerMapping完成请求的映射处理    148
  4.5.4  Spring MVC对HTTP请求的分发处理    150
4.6  Spring MVC视图的呈现    155
  4.6.1  DispatcherServlet视图呈现概述    155
  4.6.2  JSP视图的实现    157
  4.6.3  ExcelView的实现    160
  4.6.4  PDF视图的实现    163
4.7  小结    165


第5章  数据库操作组件的实现    167
5.1  Spring JDBC和Spring ORM概述    167
5.2  Spring JDBC模板类的实现    167
  5.2.1  JdbcTeamplate的基本使用    167
  5.2.2  JdbcTemplate的execute实现    168
  5.2.3  JdbcTemplate的query实现    170
  5.2.4  使用数据库Connection    171
5.3  Spring JDBC中RDBMS操作对象的实现    172
  5.3.1  SqlQuery的实现    173
  5.3.2  SqlUpdate的实现    177
  5.3.3  SqlFunction    178
5.4  Spring驱动Hibernate的实现    179
  5.4.1  配置Hibernate的SessionFactory    180
  5.4.2  HibernateTemplate的实现    185
  5.4.3  Session的管理    187
5.5  Spring驱动iBatis的实现    190
  5.5.1  创建SqlMapClient    190
  5.5.2  SqlMapClientTemplate的实现    192
5.6  小结    194


第6章  Spring事务处理的        实现    196
6.1  Spring与事务处理    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.1  DataSourceTransactionManager的实现    219
  6.5.2  HibernateTransactionManager的实现    222
6.6  小结    227


第7章  Spring远端调用的         实现    230
7.1  Spring远端调用概述    230
7.2  Spring HTTP 调用器的实现原理    232
  7.2.1  配置HTTP调用器客户端    232
  7.2.2  HTTP调用器客户端的实现    232
  7.2.3  配置HTTP调用器远端服务器端    237
  7.2.4  HTTP调用器服务器端的实现    237
7.3  Spring Hession/Burlap的实现       原理    241
  7.3.1  Hessian/Burlap客户端的配置    241
  7.3.2  Hessian客户端的实现    242
  7.3.3  Burlap客户端的实现    244
  7.3.4  Hessian/Burlap服务器端的配置    247
  7.3.5  Hessian服务器端的实现    247
  7.3.6  Burlap服务器端的实现    250
7.4  Spring RMI的实现    252
  7.4.1  Spring RMI客户端的配置    252
  7.4.2  Spring RMI客户端的实现    253
  7.4.3  Spring RMI服务器端的配置    256
  7.4.4  Spring RMI服务器端的实现    257
7.5  小结    259


第8章  安全框架ACEGI的         实现    260
8.1  Spring ACEGI安全框架概述    260
  8.1.1  概述    260
  8.1.2  使用Spring IDE    261
  8.1.3  ACEGI的Bean配置    263
8.2  配置Spring ACEGI    264
8.3  ACEGI的Web过滤器实现    267
8.4  ACEGI验证器的实现    269
  8.4.1  AuthenticationManager的authenticate    269
  8.4.2  DaoAuthenticationProvider的实现    271
  8.4.3  读取数据库用户信息    273
  8.4.4  完成用户信息的对比验证    276
8.5  ACEGI授权器的实现    277
  8.5.1  与Web环境的接口FilterSecurityInterceptor    277
  8.5.2  授权器的实现    280
  8.5.3  投票器的实现    282
8.6  小结    283


第三部分  Spring应用篇
第9章  Spring petclinic应用实例    287
9.1  petclinic概述    287
9.2  部署环境及数据库    289
9.3  petclinic的Bean配置    290
9.4  petclinic的Web页面实现    291
9.5  petclinic的领域对象实现    293
9.6  petclinic数据库操作的实现    294
  9.6.1  使用JDBC的数据库操作    294
  9.6.2  使用Hibernate的数据库操作    295
  9.6.3  使用JPA的数据库操作    297
9.7  小结    298

 

 

 

 

作者:计文柯
ISBN:9787111288060
丛书名:揭秘系列丛书
出版社:机械工业出版社
出版日期:2010 年1月
开本:16
页码:300
版次:1-1
定价:55元
豆瓣网讨论地址:http://www.douban.com/subject/4199483/
China-pub预订地址:http://www.china-pub.com/196261

相关文章:

  • Spring技术内幕——深入解析Spring架构与设计原理
  • 华章揭秘系列精品图书(《Android应用开发揭秘》、《GWT揭秘》、《Spring技术内幕》)
  • 华章揭秘系列精品图书(《Android应用开发揭秘》、《GWT揭秘》、《Spring技术内幕》)...
  • 完美代码,让你的代码无懈可击
  • 从无有 到无穷——算法之道(让你学不会算法都难)
  • Google改变生活
  • 成功的软件开发
  • 软件企业管理——无为而无不为
  • 软件企业管理其实很简单
  • 广东公安厅长向民警推荐《互联网革命》新书紧扣社会热点
  • 人人都能做营销高手——正在爆发的营销革命(社会网络营销圣经)
  • 设计模式之禅
  • OpenGL编程指南(OpenGL红宝书)
  • OpenGL编程指南(原书第7版)
  • 行摄无疆——李元大师谈风光摄影圆满结束
  • 〔开发系列〕一次关于小程序开发的深度总结
  • Android Volley源码解析
  • Fastjson的基本使用方法大全
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • javascript数组去重/查找/插入/删除
  • PaddlePaddle-GitHub的正确打开姿势
  • React系列之 Redux 架构模式
  • Vue UI框架库开发介绍
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 浮现式设计
  • 基于 Babel 的 npm 包最小化设置
  • 手机端车牌号码键盘的vue组件
  • const的用法,特别是用在函数前面与后面的区别
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • !!java web学习笔记(一到五)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (2020)Java后端开发----(面试题和笔试题)
  • (9)目标检测_SSD的原理
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (接口封装)
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • ***详解账号泄露:全球约1亿用户已泄露
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 使用 XPath 来读写 XML 文件
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET命名规范和开发约定
  • .NET委托:一个关于C#的睡前故事
  • [20140403]查询是否产生日志
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [Android]一个简单使用Handler做Timer的例子