图书介绍
咕泡学院Java架构师成长丛书 Spring 5核心原理与30个类手写实战2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (中国)谭勇德 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121367410
- 出版时间:2019
- 标注页数:543页
- 文件大小:215MB
- 文件页数:563页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
咕泡学院Java架构师成长丛书 Spring 5核心原理与30个类手写实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 Spring内功心法2
第1章 软件架构设计原则2
1.1 开闭原则2
1.2 依赖倒置原则4
1.3 单一职责原则7
1.4 接口隔离原则10
1.5 迪米特原则12
1.6 里氏替换原则14
1.7 合成复用原则19
1.8 设计原则总结20
第2章 Spring中常用的设计模式21
2.1 为什么要从设计模式开始21
2.1.1 写出优雅的代码22
2.1.2 更好地重构项目24
2.1.3 经典框架都在用设计模式解决问题36
2.2 工厂模式详解36
2.2.1 工厂模式的由来36
2.2.2 简单工厂模式37
2.2.3 工厂方法模式41
2.2.4 抽象工厂模式43
2.2.5 利用工厂模式重构的实践案例47
2.3 单例模式详解53
2.3.1 单例模式的应用场景53
2.3.2 饿汉式单例模式53
2.3.3 懒汉式单例模式54
2.3.4 反射破坏单例60
2.3.5 序列化破坏单例61
2.3.6 注册式单例模式68
2.3.7 线程单例实现ThreadLocal74
2.3.8 单例模式小结75
2.4 原型模式详解75
2.4.1 原型模式的应用场景75
2.4.2 浅克隆77
2.4.3 深克隆79
2.4.4 克隆破坏单例模式81
2.4.5 clone()方法的源码82
2.5 代理模式详解82
2.5.1 代理模式的应用场景82
2.5.2 静态代理83
2.5.3 动态代理88
2.5.4 代理模式与Spring107
2.5.5 静态代理和动态代理的本质区别108
2.5.6 代理模式的优缺点109
2.6 委派模式详解109
2.6.1 委派模式的定义及应用场景109
2.6.2 委派模式在源码中的体现111
2.7 策略模式详解114
2.7.1 策略模式的应用场景114
2.7.2 用策略模式实现选择支付方式的业务场景114
2.7.3 策略模式在JDK源码中的体现122
2.7.4 策略模式的优缺点125
2.7.5 委派模式与策略模式综合应用125
2.8 模板模式详解129
2.8.1 模板模式的应用场景129
2.8.2 利用模板模式重构JDBC操作业务场景132
2.8.3 模板模式在源码中的体现136
2.8.4 模板模式的优缺点138
2.9 适配器模式详解139
2.9.1 适配器模式的应用场景139
2.9.2 重构第三方登录自由适配的业务场景141
2.9.3 适配器模式在源码中的体现149
2.9.4 适配器模式的优缺点153
2.10 装饰者模式详解153
2.10.1 装饰者模式的应用场景153
2.10.2 装饰者模式和适配器模式对比163
2.10.3 装饰者模式在源码中的应用163
2.10.4 装饰者模式的优缺点165
2.11 观察者模式详解165
2.11.1 观察者模式的应用场景165
2.11.2 观察者模式在源码中的应用175
2.11.3 基于Guava API轻松落地观察者模式176
2.11.4 观察者模式的优缺点177
2.12 各设计模式的总结与对比177
2.12.1 GoF 23种设计模式简介177
2.12.2 设计模式之间的关联关系178
2.12.3 Spring中常用的设计模式182
2.13 Spring中的编程思想总结183
第2篇 Spring环境预热186
第3章 Spring的前世今生186
3.1 一切从Bean开始187
3.2 Spring的设计初衷188
3.3 BOP编程伊始188
3.4 理解BeanFactory189
3.5 AOP编程理念189
第4章 Spring 5系统架构191
4.1 核心容器192
4.2 AOP和设备支持192
4.3 数据访问与集成193
4.4 Web组件194
4.5 通信报文194
4.6 集成测试194
4.7 集成兼容194
4.8 各模块之间的依赖关系194
第5章 Spring版本命名规则196
5.1 常见软件的版本命名196
5.2 语义化版本命名通行规则197
5.3 商业软件中常见的修饰词197
5.4 软件版本号使用限定198
5.5 Spring版本命名规则199
第6章 Spring源码下载及构建技巧200
6.1 Spring 5源码下载200
6.2 基于Gradle的源码构建技巧201
6.3 Gradle构建过程中的坑207
第3篇 Spring核心原理210
第7章 用300行代码手写提炼Spring核心原理210
7.1 自定义配置210
7.1.1 配置application.properties文件210
7.1.2 配置web.xml文件210
7.1.3 自定义注解211
7.1.4 配置注解212
7.2 容器初始化213
7.2.1 实现1.0版本213
7.2.2 实现2.0版本216
7.2.3 实现3.0版本223
7.3 运行效果演示227
第8章 一步一步手绘Spring IoC运行时序图228
8.1 Spring核心之IoC容器初体验228
8.1.1 再谈IoC与DI228
8.1.2 Spring核心容器类图229
8.1.3 Web IoC容器初体验232
8.2 基于XML的IoC容器的初始化237
8.2.1 寻找入口238
8.2.2 获得配置路径238
8.2.3 开始启动240
8.2.4 创建容器242
8.2.5 载入配置路径243
8.2.6 分配路径处理策略244
8.2.7 解析配置文件路径247
8.2.8 开始读取配置内容249
8.2.9 准备文档对象250
8.2.10 分配解析策略251
8.2.11 将配置载入内存252
8.2.12 载入<bean>元素257
8.2.13 载入<property>元素261
8.2.14 载入<property>子元素264
8.2.15 载入<list>子元素266
8.2.16 分配注册策略267
8.2.17 向容器注册267
8.3 基于注解的IoC初始化270
8.3.1 注解的前世今生270
8.3.2 定位Bean扫描路径271
8.3.3 读取注解的元数据273
8.3.4 扫描指定包并解析为BeanDefinition277
8.3.5 注册注解BeanDefinition283
8.4 IoC容器初始化小结285
第9章 一步一步手绘Spring DI运行时序图287
9.1 Spring自动装配之依赖注入287
9.1.1 依赖注入发生的时间287
9.1.2 寻找获取Bean的入口288
9.1.3 开始实例化293
9.1.4 选择Bean实例化策略297
9.1.5 执行Bean实例化299
9.1.6 准备依赖注入301
9.1.7 解析属性依赖注入规则306
9.1.8 注入赋值310
9.2 Spring IoC容器中那些鲜为人知的细节314
9.2.1 关于延时加载314
9.2.2 关于FactoryBean和BeanFactory317
9.2.3 再述autowiring322
第10章 一步一步手绘Spring AOP运行时序图326
10.1 Spring AOP初体验326
10.1.1 再述Spring AOP应用场景326
10.1.2 AOP中必须明白的几个概念327
10.1.3 使用Spring AOP的两种方式329
10.1.4 切入点表达式的配置规则333
10.2 Spring AOP源码分析334
10.2.1 寻找入口334
10.2.2 选择代理策略338
10.2.3 调用代理方法341
10.2.4 触发通知347
第11章 一步一步手绘Spring MVC运行时序图352
11.1 初探Spring MVC请求处理流程352
11.2 Spring MVC九大组件353
11.2.1 HandlerMapping353
11.2.2 HandlerAdapter353
11.2.3 HandlerExceptionResolver354
11.2.4 ViewResolver354
11.2.5 RequestToViewNameTranslator354
11.2.6 LocaleResolver354
11.2.7 ThemeResolver355
11.2.8 MultipartResolver355
11.2.9 FlashMapManager355
11.3 Spring MVC源码分析355
11.3.1 初始化阶段356
11.3.2 运行调用阶段359
11.4 Spring MVC优化建议367
第4篇 Spring手写实战370
第12章 环境准备370
12.1 IDEA集成Lombok插件370
12.1.1 安装插件370
12.1.2 配置注解处理器373
12.1.3 使用插件374
12.2 从Servlet到ApplicationContext375
12.3 准备基础配置376
12.3.1 application.properties配置377
12.3.2 pom.xml配置377
12.3.3 web.xml配置378
12.3.4 GPDispatcherServlet378
第13章 IoC顶层结构设计380
13.1 Annotation(自定义配置)模块380
13.1.1 @GPService380
13.1.2 @GPAutowired381
13.1.3 @GPController381
13.1.4 @GPRequestMapping382
13.1.5 @GPRequestParam382
13.2 core(顶层接口)模块382
13.2.1 GPFactowiBean382
13.2.2 GPBeanFactory383
13.3 beans(配置封装)模块383
13.3.1 GPBeanDefinition383
13.3.2 GPBeanWrapper384
13.4 context(IoC容器)模块385
13.4.1 GPAbstractApplicationContext385
13.4.2 GPDefaultListableBeanFactory385
13.4.3 GPApplicationContext385
13.4.4 GPBeanDefinitionReader388
13.4.5 GPApplicationContextAware391
第14章 完成DI模块的功能392
14.1 从getBean()方法开始393
14.2 GPBeanPostProcessor395
第15章 完成MVC模块的功能396
15.1 MVC顶层设计396
15.1.1 GPDispatcherServlet396
15.1.2 GPHandlerMapping402
15.1.3 GPHandlerAdapter403
15.1.4 GPModelAndView406
15.1.5 GPViewResolver406
15.1.6 GPView407
15.2 业务代码实现409
15.2.1 IQueryService409
15.2.2 QueryService410
15.2.3 IModifyService410
15.2.4 ModifyService411
15.2.5 MyAction412
15.2.6 PageAction413
15.3 定制模板页面414
15.3.1 first.html414
15.3.2 404.html414
15.3.3 500.html415
15.4 运行效果演示415
第16章 完成AOP代码织入417
16.1 基础配置417
16.2 完成AOP顶层设计418
16.2.1 GPJoinPoint418
16.2.2 GPMethodInterceptor419
16.2.3 GPAopConfig419
16.2.4 GPAdvisedSupport420
16.2.5 GPAopProxy422
16.2.6 GPCglibAopProxy423
16.2.7 GPJdkDynamicAopProxy423
16.2.8 GPMethodInvocation425
16.3 设计AOP基础实现427
16.3.1 GPAdvice427
16.3.2 GPAbstractAspectJAdvice427
16.3.3 GPMethodBeforeAdvice428
16.3.4 GPAfterRetumingAdvice429
16.3.5 GPAfterThrowingAdvice430
16.3.6 接入getBean()方法430
16.4 织入业务代码432
16.4.1 LogAspect432
16.4.2 IModifyService433
16.4.3 ModifyService434
16.5 运行效果演示435
第5篇 Spring数据访问438
第17章 数据库事务原理详解438
17.1 从Spring事务配置说起438
17.2 事务的基本概念439
17.3 事务的基本原理439
17.4 Spring事务的传播属性440
17.5 数据库事务隔离级别441
17.6 Spring中的事务隔离级别441
17.7 事务的嵌套442
17.8 Spring事务API架构图444
17.9 浅谈分布式事务444
第18章 Spring JDBC源码初探446
18.1 异常处理447
18.2 config模块448
18.3 core模块450
18.4 DataSource456
18.5 object模块457
18.6 JdbcTemplate458
18.7 NamedParameterJdbcTemplate458
第19章 基于Spring JDBC手写ORM框架459
19.1 实现思路概述459
19.1.1 从ResultSet说起459
19.1.2 为什么需要ORM框架464
19.2 搭建基础架构467
19.2.1 Page467
19.2.2 ResultMsg470
19.2.3 BaseDao471
19.2.4 QueryRule473
19.2.5 Order479
19.3 基于Spring JDBC实现关键功能480
19.3.1 ClassMappings480
19.3.2 EntityOperation483
19.3.3 QueryRuleSqlBuilder488
19.3.4 BaseDaoSupport498
19.4 动态数据源切换的底层原理507
19.4.1 DynamicDataSource508
19.4.2 DynamicDataSourceEntry509
19.5 运行效果演示510
19.5.1 创建Member实体类510
19.5.2 创建Order实体类511
19.5.3 创建MemberDao512
19.5.4 创建OrderDao512
19.5.5 修改db.properties文件514
19.5.6 修改application-db.xml文件515
19.5.7 编写测试用例516
第6篇 Spring经验分享520
第20章 Spring 5新特性总结520
20.1 升级到Java SE 8和Java EE 7520
20.2 反应式编程模型521
20.3 使用注解进行编程521
20.4 函数式编程522
20.5 使用REST端点执行反应式编程523
20.6 支持HTTP/2523
20.7 Kotlin和Spring WebFlux523
20.8 使用Lambda表达式注册Bean524
20.9 Spring Web MVC支持最新的API524
20.10 使用JUnit 5执行条件和并发测试525
20.11 包清理和弃用526
20.12 Spring核心和容器的一般更新526
20.13 我如何看Spring 5527
第21章 关于Spring的经典高频面试题528
21.1 什么是Spring框架,Spring框架有哪些主要模块528
21.2 使用Spring框架能带来哪些好处528
21.3 什么是控制反转(IoC),什么是依赖注入529
21.4 在Java中依赖注入有哪些方式529
21.5 BeanFactory和ApplicationContext有什么区别530
21.6 Spring提供几种配置方式来设置元数据530
21.7 如何使用XML配置方式配置Spring531
21.8 Spring提供哪些配置形式532
21.9 怎样用注解的方式配置Spring533
21.10 请解释Spring Bean的生命周期534
21.11 Spring Bean作用域的区别是什么535
21.12 什么是Spring Inner Bean535
21.13 Spring中的单例Bean是线程安全的吗536
21.14 请举例说明如何在Spring中注入一个Java集合536
21.15 如何向Spring Bean中注入Java.util.Properties537
21.16 请解释Spring Bean的自动装配538
21.17 自动装配有哪些局限性538
21.18 请解释各种自动装配模式的区别539
21.19 请举例解释@Required注解539
21.20 请举例说明@Qualifier注解540
21.21 构造方法注入和设值注入有什么区别540
21.22 Spring中有哪些不同类型的事件541
21.23 FileSystemResource和ClassPathResource有什么区别542
21.24 Spring中用到了哪些设计模式542
21.25 在Spring中如何更有效地使用JDBC543
21.26 请解释Spring中的IoC容器543
21.27 在Spring中可以注入null或空字符串吗543
热门推荐
- 1365453.html
- 974820.html
- 1362359.html
- 492688.html
- 1194413.html
- 3869090.html
- 1342384.html
- 1829803.html
- 765988.html
- 2124596.html
- http://www.ickdjs.cc/book_842874.html
- http://www.ickdjs.cc/book_1983374.html
- http://www.ickdjs.cc/book_3206069.html
- http://www.ickdjs.cc/book_2279247.html
- http://www.ickdjs.cc/book_3148023.html
- http://www.ickdjs.cc/book_3757665.html
- http://www.ickdjs.cc/book_2400943.html
- http://www.ickdjs.cc/book_942181.html
- http://www.ickdjs.cc/book_2404551.html
- http://www.ickdjs.cc/book_3143321.html