当前位置:主页 > 计算机电子书 > 程序设计 > Spring下载
Spring 5核心原理与30个类手写实战

Spring 5核心原理与30个类手写实战 PDF 高清完整版

  • 更新:2022-08-16
  • 大小:142 MB
  • 类别:Spring
  • 作者:谭勇德
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

十年沉淀之作,手写Spring精华思想,21万+学员听过在线课,超强实战技术升级指南,囊括源码、设计思想、架构思维、实战案例、开发经验,Java架构师成长

内容简介

本书基于编程开发实践,不仅深度解析Spring 5的原理与新特性,更从环境准备、顶层结构设计、数据访问等方面一步步地推导出Spring的设计原理。在每个知识点上,均以大量的经典代码案例辅助讲解,使理论紧密联系实际。*后手写30个类,以体会Spring作者的创作过程,让每一位读者学以致用。

对于立志成为Java架构师的技术人员,以及对以Spring为核心的Java Web开发感兴趣的计算机专业高校生、在职Java开发人员来说,本书是一本具备超强实战意义的技术升级指南。读者通过本书可以看源码不再“晕车”,轻松找到入口;系统学习设计思想,提高解决问题的效率;培养架构思维能力,以及自驱学习能力。

目录

  • 第1篇 Spring内功心法
  • 第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 线程单例实现ThreadLocal 74
  • 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 代理模式与Spring 107
  • 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环境预热
  • 第3章 Spring的前世今生 186
  • 3.1 一切从Bean开始 187
  • 3.2 Spring的设计初衷 188
  • 3.3 BOP编程伊始 188
  • 3.4 理解BeanFactory 189
  • 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核心原理
  • 第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与DI 228
  • 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 扫描指定包并解析为BeanDefinition 277
  • 8.3.5 注册注解BeanDefinition 283
  • 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和BeanFactory 317
  • 9.2.3 再述autowiring 322
  • 第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 HandlerMapping 353
  • 11.2.2 HandlerAdapter 353
  • 11.2.3 HandlerExceptionResolver 354
  • 11.2.4 ViewResolver 354
  • 11.2.5 RequestToViewNameTranslator 354
  • 11.2.6 LocaleResolver 354
  • 11.2.7 ThemeResolver 355
  • 11.2.8 MultipartResolver 355
  • 11.2.9 FlashMapManager 355
  • 11.3 Spring MVC源码分析 355
  • 11.3.1 初始化阶段 356
  • 11.3.2 运行调用阶段 359
  • 11.4 Spring MVC优化建议 367
  • 第4篇 Spring手写实战
  • 第12章 环境准备 370
  • 12.1 IDEA集成Lombok插件 370
  • 12.1.1 安装插件 370
  • 12.1.2 配置注解处理器 373
  • 12.1.3 使用插件 374
  • 12.2 从Servlet到ApplicationContext 375
  • 12.3 准备基础配置376
  • 12.3.1 application.properties配置.377
  • 12.3.2 pom.xml配置 377
  • 12.3.3 web.xml配置 378
  • 12.3.4 GPDispatcherServlet 378
  • 第13章 IoC顶层结构设计 380
  • 13.1 Annotation(自定义配置)模块 380
  • 13.1.1 @GPService 380
  • 13.1.2 @GPAutowired 381
  • 13.1.3 @GPController 381
  • 13.1.4 @GPRequestMapping 382
  • 13.1.5 @GPRequestParam 382
  • 13.2 core(顶层接口)模块 382
  • 13.2.1 GPFactoryBean 382
  • 13.2.2 GPBeanFactory 383
  • 13.3 beans(配置封装)模块 383
  • 13.3.1 GPBeanDefinition 383
  • 13.3.2 GPBeanWrapper 384
  • 13.4 context(IoC容器)模块 385
  • 13.4.1 GPAbstractApplicationContext 385
  • 13.4.2 GPDefaultListableBeanFactory 385
  • 13.4.3 GPApplicationContext385
  • 13.4.4 GPBeanDefinitionReader 388
  • 13.4.5 GPApplicationContextAware 391
  • 第14章 完成DI模块的功能 392
  • 14.1 从getBean()方法开始 393
  • 14.2 GPBeanPostProcessor 395
  • 第15章 完成MVC模块的功能 396
  • 15.1 MVC顶层设计 396
  • 15.1.1 GPDispatcherServlet 396
  • 15.1.2 GPHandlerMapping 402
  • 15.1.3 GPHandlerAdapter 403
  • 15.1.4 GPModelAndView 406
  • 15.1.5 GPViewResolver 406
  • 15.1.6 GPView 407
  • 15.2 业务代码实现409
  • 15.2.1 IQueryService 409
  • 15.2.2 QueryService 410
  • 15.2.3 IModifyService 410
  • 15.2.4 ModifyService 411
  • 15.2.5 MyAction 412
  • 15.2.6 PageAction 413
  • 15.3 定制模板页面414
  • 15.3.1 first.html 414
  • 15.3.2 404.html 414
  • 15.3.3 500.html 415
  • 15.4 运行效果演示415
  • 第16章 完成AOP代码织入 417
  • 16.1 基础配置 .

资源下载

资源下载地址1:https://pan.baidu.com/s/1q5Tmv0Z64KLItOTj0k1UTQ

相关资源

网友留言