Spring开发实战(视频讲解版)

详细的Spring源码分析,提供丰富配套资源,4000小时配套视频讲解
分享 推荐 2 收藏 38 阅读 2.6K
李兴华 (作者) 978-7-115-60087-5

关于本书的内容有任何问题,请联系 刘博

(1)图示清晰:为了帮助读者轻松的跨过技术学习的难关,更好的理解架构的思想以及技术的本质,本书会采用大量的图形进行分析,全书的图形覆盖率达到了平均每节0.8个,几乎每一个小节都会提供有图形解释。
(2)注释全面:初学者对于技术的学习难免会出现空白点,为了便于读者理解程序代码,在全书中出现的代码覆盖率达到了99%以上,真正帮助了为学习者扫平障碍的目的。
(3)案例实用:所有的案例均来自实际项目开发中的应用架构,不仅方便读者学习,同时也为工作带来全面帮助。
(4)层次分明:每一节技术知识,都会根据需要划分为“掌握、理解、了解”三个层次,便于读者安排学习顺序。
(5)就业面试:Spring中源代码实现部分以及概念的使用部分会存在有大量的面试问题,我们对这些面试的知识进行了反向设计,以增加对应的章节,可以说本书就是Spring的面试宝典。
(6)视频全面:每一个小节的知识都包含有一个完整的视频讲解,通过手机扫码可以解决你学习中出现的各种问题。
(7)结构清晰:按照知识点的作用进行结构设计,充分的考虑到了学生认知模式的需要,降低学习难度。
(8)架构领先:基于Gradle构架工具与IDEA开发工具进行讲解,符合当今企业技术的使用标准。
(9)无障碍阅读:对可能产生的疑问、相关概念的扩展,都会通过“提示、注意、问答”进行说明。
(10)教学支持:高校教师凭借教师资格可以向出版社申请教学PPT、教学大纲以及教学自测习题。
(11)代码完整:每一节的课程均提供有代码文件或者是项目工程文件,并保证代码可以正常运行。

内容摘要

在本书之中会从零开始为读者详细地进行Spring开发框架的原理分析,并且通过一系列的案例讲解Spring开发应用的基础模型,并基于此模型进行不断的应用结构扩展,除了核心的IoC&DI、AOP技术之外,还讲解Spring JDBC、事务处理框架、Spring Data JPA、Spring Cache以及常见的RabbitMQ消息组件于Spring AMQP服务整合。
除了核心的技术实现之外,本书也针对当前Java面试中常见的问题进行了总结,同时通过功能管理的设计方式进行了Spring之中的核心源码解读,为后续的SSM框架开发、Spring Boot、Spring Cloud打下了坚实的学习基础。

目录

第1章 Spring前世今生 1
1.1 Java与Web开发 1
1.2 Java EE标准架构 2
1.3 Spring简介 3
1.4 Spring设计架构 5
1.5 本章概览 6
第2章 Spring控制反转 7
2.1 Java原生实例化对象管理 7
2.1.1 工厂设计模式与对象实例化 9
2.1.2 基于配置文件管理和使用类 10
2.2 Spring编程起步 12
2.2.1 编写第一个Spring应用 15
2.2.2 Spring Test运行测试 17
2.2.3 Spring整合Logback日志组件 18
2.3 本章概览 20
第3章 Bean管理与依赖注入 21
3.1 Bean的依赖注入 21
3.1.1 使用p命名空间实现依赖
注入 23
3.1.2 构造方法注入 24
3.1.3 自动装配 26
3.1.4 原型模式 27
3.1.5 Bean延迟初始化 29
3.2 注入数据集合 30
3.2.1 注入Set集合 32
3.2.2 注入Map集合 32
3.2.3 注入Properties集合 34
3.3 Annotation自动装配 34
3.3.1 基于Annotation实现Bean
注册 36
3.3.2 @Configuration注解 38
3.3.3 @Qualifier注解 39
3.3.4 @DependsOn注解 41
3.3.5 @Conditional注解 42
3.3.6 @Profile注解 43
3.3.7 @ComponentScan注解 45
3.4 本章概览 46
第4章 Spring资源管理 47
4.1 资源读取 47
4.1.1 Resource资源读取 48
4.1.2 ClassPathResource 49
4.1.3 WritableResource 51
4.1.4 资源读写与NIO支持 51
4.2 ResourceLoader 53
4.2.1 Resource资源注入 54
4.2.2 路径通配符 55
4.3 本章概览 56
第5章 Spring表达式语言 57
5.1 定义并使用Spring表达式语言 57
5.1.1 SpEL解析原理 58
5.1.2 ParserContext与表达式
边界符 60
5.2 SpEL基础表达式 61
5.2.1 SpEL字面表达式 61
5.2.2 SpEL数学表达式 62
5.2.3 SpEL关系表达式 62
5.2.4 SpEL逻辑表达式 63
5.2.5 SpEL三目运算符 63
5.2.6 SpEL字符串处理表达式 64
5.3 Class表达式 65
5.4 表达式变量操作 66
5.5 List集合表达式 68
5.6 Map集合表达式 70
5.7 SpEL整合Spring配置 72
5.7.1 基于Annotation使用SpEL 73
5.7.2 Profile配置与SpEL处理 74
5.8 本章概览 75
第6章 Spring核心源代码解读 76
6.1 Spring属性管理 77
6.1.1 PropertySource属性源 77
6.1.2 PropertySources属性源管理 78
6.1.3 PropertyResolver属性解析 80
6.2 Spring运行环境管理 82
6.2.1 ConfigurableEnvironment
配置环境管理 82
6.2.2 Environment与Profile管理 83
6.2.3 ConversionService转换服务 85
6.3 ApplicationContext结构分析 86
6.3.1 EnvironmentCapable 88
6.3.2 ApplicationEventPublisher
事件发布器 89
6.3.3 MessageSource与国际化资源
管理 91
6.3.4 PropertyEditor属性编辑器 93
6.4 Bean生命周期管理 96
6.4.1 InitializingBean和Disposable
Bean 97
6.4.2 JSR 250注解管理生命周期 99
6.4.3 Lifecycle生命周期处理规范 100
6.4.4 SmartLifecycle生命周期扩展 102
6.4.5 SmartInitializingSingleton
回调处理 103
6.5 BeanDefinitionReader 105
6.5.1 XmlBeanDefinitionReader 106
6.5.2 ResourceEntityResolver 107
6.5.3 BeanDefinition 108
6.5.4 BeanDefinitionParserDelegate 109
6.6 BeanFactory 111
6.6.1 ListableBeanFactory配置清单 112
6.6.2 ConfigurableBeanFactory获取
单例Bean 113
6.6.3 Bean创建 114
6.6.4 ObjectProvider 116
6.6.5 FactoryBean 118
6.7 BeanFactoryPostProcessor 120
6.7.1 BeanFactoryPostProcessor
结构解析 121
6.7.2 EventListenerMethodProcessor
自定义事件处理 122
6.7.3 CustomEditorConfigurer属性
编辑器配置 124
6.7.4 PropertySourcesPlaceholder
Configurer属性源配置 125
6.7.5 ConfigurationClassPostProcessor
配置类解析 126
6.8 BeanPostProcessor初始化处理 128
6.8.1 Bean初始化流程 129
6.8.2 Aware依赖注入管理 130
6.8.3 ApplicationContextAware
Processor 132
6.9 Spring容器启动分析 133
6.9.1 刷新Spring上下文 137
6.9.2 StartupStep 138
6.9.3 prepareRefresh()刷新预处理 140
6.9.4 obtainFreshBeanFactory()
获取BeanFactory 141
6.9.5 prepareBeanFactory()预处理
BeanFactory 143
6.9.6 initMessageSource()初始化消息
资源 145
6.9.7 initApplicationEventMulticaster()
初始化事件广播 146
6.9.8 registerListeners()注册事件
监听器 147
6.9.9 finishBeanFactoryInitialization()
初始化完成 148
6.10 Annotation扫描注入源代码解读 149
6.10.1 ClassPathBeanDefinitionScanner
扫描处理 150
6.10.2 AnnotatedBeanDefinitionReader
配置类处理 151
6.10.3 BeanDefinitionReaderUtils 153
6.11 本章概览 153
第7章 AOP 155
7.1 AOP模型 155
7.1.1 AOP简介 156
7.1.2 AOP切面表达式 157
7.1.3 AOP基础实现 158
7.2 AOP配置深入 160
7.2.1 通知参数接收 161
7.2.2 后置通知 162
7.2.3 环绕通知 163
7.2.4 基于Annotation实现AOP
配置 165
7.3 AOP源代码解读 167
7.3.1 @EnableAspectJAutoProxy
注解 168
7.3.2 AspectJAutoProxyRegistrar 169
7.3.3 AnnotationAwareAspectJAuto
ProxyCreator 172
7.3.4 createProxy()创建代理对象 174
7.4 本章概览 175
第8章 Spring JDBC与事务处理 177
8.1 Spring JDBC 177
8.1.1 DriverManagerDataSource 179
8.1.2 HikariCP数据库连接池 180
8.2 JdbcTemplate操作模板 182
8.2.1 JdbcTemplate数据更新操作 183
8.2.2 KeyHolder 185
8.2.3 数据批处理 186
8.2.4 RowMapper 188
8.3 Spring事务管理 191
8.3.1 Spring事务处理架构 192
8.3.2 编程式事务控制 193
8.4 Spring事务组成分析 194
8.4.1 事务隔离级别 197
8.4.2 事务传播机制 200
8.4.3 只读事务控制 203
8.5 Spring声明式事务管理模型 204
8.5.1 @Transactional注解 204
8.5.2 AOP切面事务管理 206
8.5.3 Bean事务切面配置 208
8.6 本章概览 209
第9章 Spring Data JPA 210
9.1 JPA简介 210
9.1.1 JPA编程起步 212
9.1.2 JPA连接工厂 215
9.1.3 DDL自动更新 217
9.1.4 JPA主键生成策略 218
9.2 JPA数据操作 221
9.2.1 JPQL语句 223
9.2.2 JPQL数据更新 227
9.2.3 SQL原生操作 228
9.2.4 Criteria数据操作 229
9.3 JPA数据缓存 234
9.3.1 JPA一级缓存 234
9.3.2 JPA对象状态 236
9.3.3 JPA二级缓存 238
9.3.4 JPA查询缓存 241
9.3.5 CacheMode 242
9.4 JPA锁机制 244
9.4.1 JPA悲观锁 244
9.4.2 JPA乐观锁 247
9.5 JPA数据关联 248
9.5.1 一对一数据关联 248
9.5.2 一对多数据关联 251
9.5.3 多对多数据关联 255
9.6 Spring Data JPA 258
9.6.1 Spring Data JPA编程起步 260
9.6.2 Repository数据接口 264
9.6.3 Repository方法映射 267
9.6.4 CrudRepository数据接口 269
9.6.5 PagingAndSortingRepository
数据接口 270
9.6.6 JpaRepository数据接口 272
9.7 本章概览 273
第10章 Spring整合缓存服务 274
10.1 Caffeine缓存组件 274
10.1.1 手动缓存 276
10.1.2 缓存同步加载 277
10.1.3 异步缓存 279
10.1.4 缓存数据驱逐 280
10.1.5 缓存数据删除与监听 285
10.1.6 CacheStats 286
10.2 Caffeine核心源代码解读 287
10.2.1 Caffeine数据存储结构 290
10.2.2 缓存数据存储源代码分析 292
10.2.3 频次记录源代码分析 294
10.2.4 缓存驱逐源代码分析 297
10.2.5 TimerWheel 300
10.3 Spring Cache 302
10.3.1 ConcurrentHashMap缓存
管理 305
10.3.2 @Cacheable注解 306
10.3.3 Caffeine缓存管理 308
10.4 Spring Cache管理策略 309
10.4.1 缓存更新策略 309
10.4.2 缓存清除策略 310
10.4.3 多级缓存策略 311
10.5 Memcached分布式缓存 313
10.5.1 Memcached数据操作命令 315
10.5.2 Spring整合Memcached 317
10.5.3 Spring Cache整合Memcached
缓存服务 319

10.6 本章概览 322
第11章 Spring整合AMQP消息
服务 323
11.1 AMQP与RabbitMQ 323
11.1.1 配置wxWidgets组件库 325
11.1.2 配置Erlang开发环境 326
11.1.3 RabbitMQ安装与配置 328
11.2 RabbitMQ程序开发 329
11.2.1 创建消息生产者 330
11.2.2 创建消息消费者 332
11.2.3 消息应答 333
11.2.4 消息持久化 335
11.2.5 虚拟主机 336
11.3 发布订阅模式 338
11.3.1 广播模式 338
11.3.2 直连模式 340
11.3.3 主题模式 342
11.4 Spring整合RabbitMQ 344
11.4.1 RabbitMQ消费端 346
11.4.2 RabbitMQ生产端 349
11.4.3 消费端注解配置 352
11.4.4 对象消息传输 353
11.4.5 消息批处理 355
11.5 RabbitMQ集群服务 357
11.5.1 搭建RabbitMQ服务集群 359
11.5.2 RabbitMQ集群镜像配置 361
11.5.3 RabbitMQ集群程序开发 362
11.6 本章概览 364

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

李兴华,一线开发技术讲师,系统架构师,20年以上软件行业从业经验,15年编程图书原创经验,现致力于公益教学,为学生打造零成本学习生态。技术方向主要为编程语言、系统架构、数据库、手机移动、前端、大数据等,已出版的图书包含有Java、Python、数据库、Android、系统架构等20多本原创书籍。

推荐用户

购买本书用户

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部