Spring源码深度解析第2版

Spring源码深度解析第2版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2019-01
版次: 1
ISBN: 9787115499141
定价: 99.00
装帧: 平装
开本: 16开
页数: 435页
字数: 615千字
正文语种: 简体中文
丛书: spring
304人买过
  • 《Spring源码深度解析(第2版)》从核心实现、企业应用和Spring Boot这3个方面,由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring 整体架构和环境搭建、容器的基本实现、默认标签的解析、自定义标签的解析、bean的加载、容器的功能扩展、AOP、数据库连接JDBC、整合MyBatis、事务、SpringMVC、远程服务、Spring消息、Spring Boot体系原理等内容。
    《Spring源码深度解析(第2版)》不仅介绍了使用Spring框架开发项目必须掌握的核心概念,还指导读者使用Spring框架编写企业级应用,并针对在编写代码的过程中如何优化代码、如何使得代码高效给出了切实可行的建议,从而帮助读者全面提升实战能力。
    《Spring源码深度解析(第2版)》语言简洁,示例丰富,可帮助读者迅速掌握使用Spring进行开发所需的各种技能。本书适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员等。 郝佳,计算机专业硕士学位,曾发表过多篇论文并先后被EI、SCI收录;2008 年辽宁省教育厅科技计划项目研究人之一;长期奋斗于J2EE领域,2013年入职阿里巴巴,目前担任业务中间件软件架构师;一直专注于中间件领域,拥有6项技术专利,擅长系统的性能优化;热衷于研究各种开源代码并从中进行总结,从而实现个人技能的提高,尤其对Spring、Hibernate、MyBatis、JMS、Tomcat等源码有着深刻的理解和认识。 第 1部分 核心实现
    第 1章 Spring整体架构和环境搭建 2
    1.1 Spring的整体架构 2
    1.2 环境搭建 4
    1.2.1 源码链接获取 5
    1.2.2 源码下载及IDEA导入 6
    1.3 cglib和objenesis的编译错误解决 9
    1.3.1 问题发现及原因 9
    1.3.2 问题解决 9
    1.4 AspectJ编译问题解决 10
    1.4.1 问题发现 10
    1.4.2 问题原因 12
    1.4.3 问题解决 13
    第 2章 容器的基本实现 19
    2.1 容器基本用法 19
    2.2 功能分析 20
    2.3 工程搭建 21
    2.4 Spring的结构组成 22
    2.4.1 beans包的层级结构 22
    2.4.2 核心类介绍 23
    2.5 容器的基础XmlBeanFactory 26
    2.5.1 配置文件封装 27
    2.5.2 加载Bean 30
    2.6 获取XML的验证模式 33
    2.6.1 DTD与XSD区别 33
    2.6.2 验证模式的读取 35
    2.7 获取Document 37
    2.8 解析及注册BeanDefinitions 40
    2.8.1 profile属性的使用 42
    2.8.2 解析并注册BeanDefinition 42
    第3章 默认标签的解析 44
    3.1 bean标签的解析及注册 44
    3.1.1 解析BeanDefinition 46
    3.1.2 AbstractBeanDefinition属性 64
    3.1.3 解析默认标签中的自定义标签元素 67
    3.1.4 注册解析的BeanDefinition 69
    3.1.5 通知监听器解析及注册完成 72
    3.2 alias标签的解析 72
    3.3 import标签的解析 73
    3.4 嵌入式beans标签的解析 76
    第4章 自定义标签的解析 77
    4.1 自定义标签使用 78
    4.2 自定义标签解析 80
    4.2.1 获取标签的命名空间 81
    4.2.2 提取自定义标签处理器 81
    4.2.3 标签解析 83
    第5章 bean的加载 86
    5.1 FactoryBean的使用 92
    5.2 缓存中获取单例bean 93
    5.3 从bean的实例中获取对象 94
    5.4 获取单例 98
    5.5 准备创建bean 100
    5.5.1 处理override属性 101
    5.5.2 实例化的前置处理 102
    5.6 循环依赖 104
    5.6.1 什么是循环依赖 104
    5.6.2 Spring如何解决循环依赖 104
    5.7 创建bean 108
    5.7.1 创建bean的实例 111
    5.7.2 记录创建bean的ObjectFactory 120
    5.7.3 属性注入 123
    5.7.4 初始化bean 132
    5.7.5 注册DisposableBean 136
    第6章 容器的功能扩展 137
    6.1 设置配置路径 138
    6.2 扩展功能 138
    6.3 环境准备 140
    6.4 加载BeanFactory 141
    6.4.1 定制BeanFactory 143
    6.4.2 加载BeanDefinition 144
    6.5 功能扩展 145
    6.5.1 增加SpEL语言的支持 146
    6.5.2 增加属性注册编辑器 147
    6.5.3 添加ApplicationContextAwareProcessor处理器 152
    6.5.4 设置忽略依赖 154
    6.5.5 注册依赖 154
    6.6 BeanFactory的后处理 154
    6.6.1 激活注册的BeanFactoryPostProcessor 154
    6.6.2 注册BeanPostProcessor 160
    6.6.3 初始化消息资源 163
    6.6.4 初始化ApplicationEventMulticaster 167
    6.6.5 注册监听器 169
    6.7 初始化非延迟加载单例 169
    6.8 finishRefresh 172
    第7章 AOP 175
    7.1 动态AOP使用示例 175
    7.2 动态AOP自定义标签 177
    7.3 创建AOP代理 181
    7.3.1 获取增强器 184
    7.3.2 寻找匹配的增强器 193
    7.3.3 创建代理 195
    7.4 静态AOP使用示例 209
    7.5 创建AOP静态代理 211
    7.5.1 Instrumentation使用 211
    7.5.2 自定义标签 215
    7.5.3 织入 217
    第 2部分 企业应用
    第8章 数据库连接JDBC 222
    8.1 Spring连接数据库程序实现(JDBC) 223
    8.2 save/update功能的实现 225
    8.2.1 基础方法execute 227
    8.2.2 Update中的回调函数 231
    8.3 query功能的实现 233
    8.4 queryForObject 237
    第9章 整合MyBatis 239
    9.1 MyBatis独立使用 239
    9.2 Spring整合MyBatis 243
    9.3 源码分析 245
    9.3.1 sqlSessionFactory创建 245
    9.3.2 MapperFactoryBean的创建 249
    9.3.3 MapperScannerConfigurer 252
    第 10章 事务 262
    10.1 JDBC方式下的事务使用示例 262
    10.2 事务自定义标签 265
    10.2.1 注册InfrastructureAdvisorAutoProxyCreator 265
    10.2.2 获取对应class/method的增强器 269
    10.3 事务增强器 276
    10.3.1 创建事务 279
    10.3.2 回滚处理 289
    10.3.3 事务提交 295
    第 11章 SpringMVC 298
    11.1 SpringMVC快速体验 298
    11.2 ContextLoaderListener 302
    11.2.1 ServletContextListener的使用 302
    11.2.2 Spring中的ContextLoaderListener 303
    11.3 DispatcherServlet 306
    11.3.1 servlet的使用 307
    11.3.2 DispatcherServlet的初始化 308
    11.3.3 WebApplicationContext的初始化 311
    11.4 DispatcherServlet的逻辑处理 327
    11.4.1 MultipartContent类型的request处理 333
    11.4.2 根据request信息寻找对应的Handler 333
    11.4.3 没找到对应的Handler的错误处理 337
    11.4.4 根据当前Handler寻找对应的HandlerAdapter 338
    11.4.5 缓存处理 338
    11.4.6 HandlerInterceptor的处理 339
    11.4.7 逻辑处理 340
    11.4.8 异常视图的处理 341
    11.4.9 根据视图跳转页面 341
    第 12章 远程服务 347
    12.1 RMI 347
    12.1.1 使用示例 347
    12.1.2 服务端实现 349
    12.1.3 客户端实现 357
    12.2 HttpInvoker 362
    12.2.1 使用示例 362
    12.2.2 服务端实现 364
    12.2.3 客户端实现 368
    第 13章 Spring消息 374
    13.1 JMS的独立使用 374
    13.2 Spring整合ActiveMQ 376
    13.3 源码分析 378
    13.3.1 JmsTemplate 379
    13.3.2 监听器容器 383
    第3部分 Spring Boot
    第 14章 Spring Boot体系原理 394
    14.1 Spring Boot源码安装 396
    14.2 第 一个Starter 397
    14.3 探索SpringApplication启动Spring 400
    14.3.1 SpringContext创建 401
    14.3.2 bean的加载 402
    14.3.3 Spring扩展属性的加载 403
    14.3.4 总结 403
    14.4 Starter自动化配置原理 403
    14.4.1 spring.factories的加载 404
    14.4.2 factories调用时序图 405
    14.4.3 配置类的解析 407
    14.4.4 Componentscan的切入点 410
    14.5 Conditional机制实现 413
    14.5.1 Conditional使用 413
    14.5.2 Conditional原理 415
    14.5.3 调用切入点 418
    14.6 属性自动化配置实现 420
    14.6.1 示例 420
    14.6.2 原理 422
    14.7 Tomcat启动 428
  • 内容简介:
    《Spring源码深度解析(第2版)》从核心实现、企业应用和Spring Boot这3个方面,由浅入深、由易到难地对Spring源码展开了系统的讲解,包括Spring 整体架构和环境搭建、容器的基本实现、默认标签的解析、自定义标签的解析、bean的加载、容器的功能扩展、AOP、数据库连接JDBC、整合MyBatis、事务、SpringMVC、远程服务、Spring消息、Spring Boot体系原理等内容。
    《Spring源码深度解析(第2版)》不仅介绍了使用Spring框架开发项目必须掌握的核心概念,还指导读者使用Spring框架编写企业级应用,并针对在编写代码的过程中如何优化代码、如何使得代码高效给出了切实可行的建议,从而帮助读者全面提升实战能力。
    《Spring源码深度解析(第2版)》语言简洁,示例丰富,可帮助读者迅速掌握使用Spring进行开发所需的各种技能。本书适合于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员等。
  • 作者简介:
    郝佳,计算机专业硕士学位,曾发表过多篇论文并先后被EI、SCI收录;2008 年辽宁省教育厅科技计划项目研究人之一;长期奋斗于J2EE领域,2013年入职阿里巴巴,目前担任业务中间件软件架构师;一直专注于中间件领域,拥有6项技术专利,擅长系统的性能优化;热衷于研究各种开源代码并从中进行总结,从而实现个人技能的提高,尤其对Spring、Hibernate、MyBatis、JMS、Tomcat等源码有着深刻的理解和认识。
  • 目录:
    第 1部分 核心实现
    第 1章 Spring整体架构和环境搭建 2
    1.1 Spring的整体架构 2
    1.2 环境搭建 4
    1.2.1 源码链接获取 5
    1.2.2 源码下载及IDEA导入 6
    1.3 cglib和objenesis的编译错误解决 9
    1.3.1 问题发现及原因 9
    1.3.2 问题解决 9
    1.4 AspectJ编译问题解决 10
    1.4.1 问题发现 10
    1.4.2 问题原因 12
    1.4.3 问题解决 13
    第 2章 容器的基本实现 19
    2.1 容器基本用法 19
    2.2 功能分析 20
    2.3 工程搭建 21
    2.4 Spring的结构组成 22
    2.4.1 beans包的层级结构 22
    2.4.2 核心类介绍 23
    2.5 容器的基础XmlBeanFactory 26
    2.5.1 配置文件封装 27
    2.5.2 加载Bean 30
    2.6 获取XML的验证模式 33
    2.6.1 DTD与XSD区别 33
    2.6.2 验证模式的读取 35
    2.7 获取Document 37
    2.8 解析及注册BeanDefinitions 40
    2.8.1 profile属性的使用 42
    2.8.2 解析并注册BeanDefinition 42
    第3章 默认标签的解析 44
    3.1 bean标签的解析及注册 44
    3.1.1 解析BeanDefinition 46
    3.1.2 AbstractBeanDefinition属性 64
    3.1.3 解析默认标签中的自定义标签元素 67
    3.1.4 注册解析的BeanDefinition 69
    3.1.5 通知监听器解析及注册完成 72
    3.2 alias标签的解析 72
    3.3 import标签的解析 73
    3.4 嵌入式beans标签的解析 76
    第4章 自定义标签的解析 77
    4.1 自定义标签使用 78
    4.2 自定义标签解析 80
    4.2.1 获取标签的命名空间 81
    4.2.2 提取自定义标签处理器 81
    4.2.3 标签解析 83
    第5章 bean的加载 86
    5.1 FactoryBean的使用 92
    5.2 缓存中获取单例bean 93
    5.3 从bean的实例中获取对象 94
    5.4 获取单例 98
    5.5 准备创建bean 100
    5.5.1 处理override属性 101
    5.5.2 实例化的前置处理 102
    5.6 循环依赖 104
    5.6.1 什么是循环依赖 104
    5.6.2 Spring如何解决循环依赖 104
    5.7 创建bean 108
    5.7.1 创建bean的实例 111
    5.7.2 记录创建bean的ObjectFactory 120
    5.7.3 属性注入 123
    5.7.4 初始化bean 132
    5.7.5 注册DisposableBean 136
    第6章 容器的功能扩展 137
    6.1 设置配置路径 138
    6.2 扩展功能 138
    6.3 环境准备 140
    6.4 加载BeanFactory 141
    6.4.1 定制BeanFactory 143
    6.4.2 加载BeanDefinition 144
    6.5 功能扩展 145
    6.5.1 增加SpEL语言的支持 146
    6.5.2 增加属性注册编辑器 147
    6.5.3 添加ApplicationContextAwareProcessor处理器 152
    6.5.4 设置忽略依赖 154
    6.5.5 注册依赖 154
    6.6 BeanFactory的后处理 154
    6.6.1 激活注册的BeanFactoryPostProcessor 154
    6.6.2 注册BeanPostProcessor 160
    6.6.3 初始化消息资源 163
    6.6.4 初始化ApplicationEventMulticaster 167
    6.6.5 注册监听器 169
    6.7 初始化非延迟加载单例 169
    6.8 finishRefresh 172
    第7章 AOP 175
    7.1 动态AOP使用示例 175
    7.2 动态AOP自定义标签 177
    7.3 创建AOP代理 181
    7.3.1 获取增强器 184
    7.3.2 寻找匹配的增强器 193
    7.3.3 创建代理 195
    7.4 静态AOP使用示例 209
    7.5 创建AOP静态代理 211
    7.5.1 Instrumentation使用 211
    7.5.2 自定义标签 215
    7.5.3 织入 217
    第 2部分 企业应用
    第8章 数据库连接JDBC 222
    8.1 Spring连接数据库程序实现(JDBC) 223
    8.2 save/update功能的实现 225
    8.2.1 基础方法execute 227
    8.2.2 Update中的回调函数 231
    8.3 query功能的实现 233
    8.4 queryForObject 237
    第9章 整合MyBatis 239
    9.1 MyBatis独立使用 239
    9.2 Spring整合MyBatis 243
    9.3 源码分析 245
    9.3.1 sqlSessionFactory创建 245
    9.3.2 MapperFactoryBean的创建 249
    9.3.3 MapperScannerConfigurer 252
    第 10章 事务 262
    10.1 JDBC方式下的事务使用示例 262
    10.2 事务自定义标签 265
    10.2.1 注册InfrastructureAdvisorAutoProxyCreator 265
    10.2.2 获取对应class/method的增强器 269
    10.3 事务增强器 276
    10.3.1 创建事务 279
    10.3.2 回滚处理 289
    10.3.3 事务提交 295
    第 11章 SpringMVC 298
    11.1 SpringMVC快速体验 298
    11.2 ContextLoaderListener 302
    11.2.1 ServletContextListener的使用 302
    11.2.2 Spring中的ContextLoaderListener 303
    11.3 DispatcherServlet 306
    11.3.1 servlet的使用 307
    11.3.2 DispatcherServlet的初始化 308
    11.3.3 WebApplicationContext的初始化 311
    11.4 DispatcherServlet的逻辑处理 327
    11.4.1 MultipartContent类型的request处理 333
    11.4.2 根据request信息寻找对应的Handler 333
    11.4.3 没找到对应的Handler的错误处理 337
    11.4.4 根据当前Handler寻找对应的HandlerAdapter 338
    11.4.5 缓存处理 338
    11.4.6 HandlerInterceptor的处理 339
    11.4.7 逻辑处理 340
    11.4.8 异常视图的处理 341
    11.4.9 根据视图跳转页面 341
    第 12章 远程服务 347
    12.1 RMI 347
    12.1.1 使用示例 347
    12.1.2 服务端实现 349
    12.1.3 客户端实现 357
    12.2 HttpInvoker 362
    12.2.1 使用示例 362
    12.2.2 服务端实现 364
    12.2.3 客户端实现 368
    第 13章 Spring消息 374
    13.1 JMS的独立使用 374
    13.2 Spring整合ActiveMQ 376
    13.3 源码分析 378
    13.3.1 JmsTemplate 379
    13.3.2 监听器容器 383
    第3部分 Spring Boot
    第 14章 Spring Boot体系原理 394
    14.1 Spring Boot源码安装 396
    14.2 第 一个Starter 397
    14.3 探索SpringApplication启动Spring 400
    14.3.1 SpringContext创建 401
    14.3.2 bean的加载 402
    14.3.3 Spring扩展属性的加载 403
    14.3.4 总结 403
    14.4 Starter自动化配置原理 403
    14.4.1 spring.factories的加载 404
    14.4.2 factories调用时序图 405
    14.4.3 配置类的解析 407
    14.4.4 Componentscan的切入点 410
    14.5 Conditional机制实现 413
    14.5.1 Conditional使用 413
    14.5.2 Conditional原理 415
    14.5.3 调用切入点 418
    14.6 属性自动化配置实现 420
    14.6.1 示例 420
    14.6.2 原理 422
    14.7 Tomcat启动 428
查看详情
您可能感兴趣 / 更多