内容简介
第1部分 核心实现
第1章Spring整体架构和环境搭建
1.1 Spring的整体架构
1.2环境搭建
1.2.1源码链接获取
1.2.2源码下载及IDEA导入
1.3 cglib和objenesis的编译错误解决
1.3.1问题发现及原因
1.3.2问题解决
1.4 AspectJ编译问题解决
1.4.1问题发现
1.4.2问题原因
1.4.3问题解决
第2章 容器的基本实现
2.1容器基本用法
2.2功能分析
2.3工程搭建
2.4 Spring的结构组成
2.4.1 beans包的层级结构
2.4.2核心类介绍
2.5容器的基础XmlBeanFactory
2.5.1配置文件封装
2.5.2加载Bean
2.6获取XML的验证模式
2.6.1 DTD与XSD区别
2.6.2验证模式的读取
2.7获取Document
2.8解析及注册BeanDefinitions
2.8.1 profile属性的使用
2.8.2解析并注册BeanDefinition
第3章 默认标签的解析
3.1 bean标签的解析及注册
3.1.1解析BeanDefinition
3.1.2 AbstractBeanDefinition属性
3.1.3解析默认标签中的自定义标签元素
3.1.4注册解析的BeanDefinition
3.1.5通知监听器解析及注册完成
3.2 alias标签的解析
3.3 import标签的解析
3.4嵌入式beans标签的解析
第4章 自定义标签的解析
4.1自定义标签使用
4.2自定义标签解析
4.2.1获取标签的命名空间
4.2.2提取自定义标签处理器
4.2.3标签解析
第5章bean的加载
5.1 FactoryBeau的使用
5.2缓存中获取单例bean
5.3从bean的实例中获取对象
5.4获取单例
5.5准备创建bean
5.5.1处理override属性
5.5.2实例化的前置处理
5.6循环依赖
5.6.1什么是循环依赖
5.6.2 Spring如何解决循环依赖
5.7创建bean
5.7.1创建bean的实例
5.7.2记录创建bean的ObjectFactory
5.7.3属性注入
5.7.4初始化bean
5.7.5注册DisposableBean
第6章 容器的功能扩展
6.1设置配置路径
6.2扩展功能
6.3环境准备
6.4加载BeanFactory
6.4.1定制B eanF actory
6.4.2加载BeanDefinition
6.5功能扩展
6.5.1增加SpEL语言的支持
6.5.2增加属性注册编辑器
6.5.3添加ApplicationContextAwareProcessor处理器
6.5.4设置忽略依赖
6.5.5注册依赖
6.6 BeanFactory的后处理
6.6.1激活注册的BeanFactoryPostProcessor
6.6.2注册BeanPostProcessor
6.6.3初始化消息资源
6.6.4初始化App I icationEventMulticaster
6.6.5注册监听器
6.7初始化非延迟加载单例
6.8 finishRefresh
第7章AOP
7.1动态AOP使用示例
7.2动态AOP自定义标签
7.3创建AOP代理
7.3.1获取增强器
7.3.2寻找匹配的增强器
7.3.3创建代理
7.4静态AOP使用示例
7.5创建AOP静态代理
7.5.1 Instrumentation使用
7.5.2自定义标签
7.5.3织入
第2部分 企业应用
第8章 数据库连接JDBC
8.1 Spring连接数据库程序实现(JDBC)
8.2 save/update功能的实现
8.2.1基础方法execute
8.2.2 Update中的回调函数
8.3 query功能的实现
8.4 queryForObject
第9章 整合MyBatis
9.1 MyBatis独立使用
9.2 Spring整合MyBatis
9.3源码分析
9.3.1 sqlSessionFactory创建
9.3.2 MapperFactoryBean的创建
9.3.3 MapperScannerConfigurer
第10章 事务
10.1 JDBC方式下的事务使用示例
10.2事务自定义标签
10.2.1注册InfrastructureAdvisorAutoProxyCreator
10.2.2获取对应class/method的增强器
10.3事务增强器
10.3.1创建事务
10.3.2回滚处理
10.3.3事务提交
第11章SpringMVC
11.1 SpringMVC快速体验
11.2 ContextLoaderListener
11.2.1 ServletContextListener的使用
11.2.2 Spring中的ContextLoaderListener
11.3 DispatcherServlet
11.3.1 servlet的使用
11.3.2 DispatcherServlet的初始化
11.3.3 WebApplicationContext的初始化
11.4 DispatcherServlet的逻辑处理
11.4.1 MultipartContent类型的request处理
11.4.2根据request信息寻找对应的Handler
11.4.3没找到对应的Handler的错误处理
11.4.4根据当前Handler寻找对应的HandlerAdapter
11.4.5缓存处理
11.4.6 HandlerInterceptor的处理
11.4.7逻辑处理
11.4.8异常视图的处理
11.4.9根据视图跳转页面
第12章 远程服务
12.1 RMI
12.1.1使用示例
12.1.2服务端实现
12.1.3客户端实现
12.2 HttpInvoker
12.2.1使用示例
12.2.2服务端实现
12.2.3客户端实现
第13章Spring消息
13.1 JMS的独立使用
13.2 Spring整合ActiveMQ
13.3源码分析
13.3.1 JmsTemplate
13.3.2监听器容器
第3部分 Spring Boot
第14章Spring Boot体系原理
14.1 Spring Boot源码安装
14.2第一个Starter
14.3探索SpringApplication启动Spring
14.3.1 SpringContext创建
14.3.2 bean的加载
14.3.3 Spring扩展属性的加载
14.3.4总结
14.4 Starter自动化配置原理
14.4.1 spring.factories的加载
14.4.2 factories调用时序图
14.4.3配置类的解析
14.4.4 Componentscan的切入点
14.5 Conditional机制实现
14.5.1 Conditional使用
14.5.2 Conditional原理
14.5.3调用切入点
14.6属性自动化配置实现
14.6.1示例
14.6.2原理
14.7 Tomcat启动