本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
Spring Boot编程思想 核心篇 | ||
定价 | 118.00 | |
出版社 | 电子工业出版社 | |
版次 | 1 | |
出版时间 | 2019年04月 | |
开本 | 16开 | |
作者 | 小马哥(mercyblitz) | |
装帧 | 平装-胶订 | |
页数 | 628 | |
字数 | ||
ISBN编码 | 9787121360398 |
Spring 5核心原理与30个类 写实战 | ||
定价 | 118.00 | |
出版社 | 电子工业出版社 | |
版次 | 1 | |
出版时间 | 2019年07月 | |
开本 | 16 | |
作者 | 谭勇德(Tom) | |
装帧 | 平塑勒单衬 | |
页数 | 560 | |
字数 | 778000 | |
ISBN编码 | 9787121367410 |
Spring 5核心原理与30个类 写实战
1996年,Java还只是一个新兴的、初出茅庐的编程语言。2004年3月24日Spring正式对外发布1.0版本。我在2009年开始接触Spring2.0版本,从此爱不释 。Spring的出现,恰如其名开启了全世界Java程序员的春天。如今,Spring已然成为一个生态,使用Spring简直就是一种享受。本书将结合本人多年的Spring使用经验,整理珍藏多年的学习笔记,采用类关系图和代码片段的形式,加以中文注释,通俗、生动、全面深入地剖析了Spring源码的重要细节。同时,本书也作为咕泡学院Java VIP高级课程的教案。要想练就"降龙十八掌”,先得修炼内功。本书用从设计模式开始讲解,希望可以帮助大家更好地理解Spring,让大家知其然,且知其所以然。
本书是《Spring Boot 编程思想》的核心篇,开篇总览Spring Boot核心特性,接着讨论自动装配(Auto-Configuration)与SpringApplication。全书的讨论以Spring Boot为中心,议题发散至Spring技术栈、JSR及Java。希望透过全局的视角,帮助读者了解Spring Boot变迁的历程;经过多方的比较,帮助读者理解Spring Boot特性的原理;整合标准的规范,帮助读者掌握Spring Boot设计的哲学。
★《Spring 5核心原理与30个类 写实战》对应在线课程有21万 学员听过,付费学员有1.3万
★《Spring 5核心原理与30个类 写实战》作者Tom老师有10余年Java开发经验,对Spring有深入研究及独特见解
★本书几乎涵盖在Spring应用中可能遇到的所有问题,核心原理(IoC、DI、AOP、MVC)、高仿 写、数据访问等
★深度解析Spring 5的原理与新特性,从环境准备、顶层结构设计、数据访问等方面一步步推导出Spring设计原理
★通过本书你可以:
--看源码不再晕车,轻松找到入口。
--系统学习设计思想,提高解决问题的效率。
--培养架构思维能力,自驱学习能力。
--用30个类提炼出Spring核心的精华思想,并保证功能可用。
--从不一样的角度分析Spring经典高频面试题。
--了解Spring 5 的新特性。
--为深入了解Spring Boot做铺垫。
dy 章 软件架构设计原则 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
dy 0章 一步一步 绘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
dy 1章 一步一步 绘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 写实战
dy 2章 环境准备 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
dy 3章 IoC顶层结构设计 380
13.1 An tation(自定义配置)模块 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
dy 4章 完成DI模块的功能 392
14.1 从getBean()方法开始 393
14.2 GPBeanPostProcessor 395
dy 5章 完成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
dy 6章 完成AOP代码织入 417
16.1 基础配置 . 显示全部信息