注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络网络与数据通信网络服务Spring 5企业级开发实战

Spring 5企业级开发实战

Spring 5企业级开发实战

定 价:¥118.00

作 者: 周冠亚,黄文毅
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302531029 出版时间: 2019-06-01 包装: 平装
开本: 16开 页数: 526 字数:  

内容简介

  Spring框架是为了降低解决企业系统开发的复杂度而产生的,掌握并学会使用Spring框架进行项目开发,是Java开发人员必备技能之一,本书从企业应用开发的角度出发,深入浅出地讲解了Spring 5的新特性和Spring集成开发技术。全书共19章,第1章~第3章主要讲解如何搭建Spring开发环境以及Spring IoC和AOP容器的原理及代码分析。第4章和第5章概述Spring 5和Java 8的新特性。第6章和第7章讲解Spring 5新特性—— WebFlux响应式编程、开发和调试。第8章和第9章主要讲解Spring 5集成Kotlin语言以及更多Spring 5新特性的细节。第10章~第19章主要介绍Spring集成其他热门技术,例如,Log4j2日志框架、Spring MVC、MyBatis、Redis缓存、 ZooKeeper、Kafka消息中间件、Mycat分库分表中间件、Sharding-JDBC和Dubbo服务治理框架等。附录部分介绍本书涉及的以及在面试中常见的设计模式。 本书适用于所有Java编程语言开发人员、分布式系统开发爱好者以及计算机专业的学生等。

作者简介

  周冠亚,上海交通大学软件工程硕士,先后就职于万达网络科技有限公司、上海2345网络科技有限公司、美团点评,主要从事后端Java开发工作,拥有丰富的软件开发经验,熟悉Java、高并发、微服务、大数据及相关软件架构。黄文毅, CSDN博客专家,CSDN学院、网易学院和腾讯学院等网络学院讲师;曾就职于厦门星耀蓝图科技有限公司和上海美团,目前就职于厦门美图科技有限公司,主要从事美图秀秀和美拍后端开发工作。

图书目录

第一篇 Spring基础篇 

第1章 环境搭建 3 

1.1 Spring介绍 3 

1.1.1 Spring设计目标 3 

1.1.2 Spring各个子模块 3 

1.1.3 Spring使用场景 4 

1.1.4 Spring与Spring MVC的关系 5 

1.1.5 Spring 5高级特性 5 

1.2 环境准备 5 

1.2.1 安装JDK 5 

1.2.2 安装IntelliJ IDEA 6 

1.2.3 安装Apache Maven 6 

1.2.4 安装Apache Tomcat 7 

1.3 快速搭建Spring 5项目 8 

1.3.1 使用IntelliJ IDEA创建Spring 5 + Spring MVC项目 8 

1.3.2 测试部署 9 

1.4 小结 9 

第2章 Spring IoC容器原理 10 

2.1 IoC容器揭秘 10 

2.1.1 IoC的概念 10 

2.1.2 依赖倒置原则 11 

2.1.3 依赖注入 16 

2.2 Spring IoC的实现方式 17 

2.2.1 XML方式实现 17 

2.2.2 通过注解方式实现 20 

2.3 Spring IoC实现原理解析 21 

2.3.1 BeanFactory代码解析 21 

2.3.2 ApplicationContext代码解析 22 

2.3.3 BeanDefinition代码解析 23 

2.3.4 Spring IoC代码分析 23 

2.4 Spring IoC容器中Bean的生命周期 44 

2.5 小结 52 

第3章 Spring AOP揭秘 53 

3.1 AOP前置知识 53 

3.1.1 JDK动态代理 53 

3.1.2 CGLIB动态代理 56 

3.1.3 AOP联盟 58 

3.2 AOP概述 58 

3.2.1 AOP基本概念 58 

3.2.2 Spring AOP相关概念 59 

3.3 Spring AOP实现 60 

3.3.1 基于JDK动态代理实现 60 

3.3.2 基于CGLIB动态代理实现 65 

3.4 基于Spring AOP的实战 70 

3.4.1 增强类型 70 

3.4.2 前置增强 71 

3.4.3 后置增强 73 

3.4.4 环绕增强 74 

3.4.5 异常抛出增强 75 

3.4.6 引介增强 75 

3.4.7 切入点类型 77 

3.5 Spring集成AspectJ实战 78 

3.5.1 使用AspectJ方式配置Spring AOP 78 

3.5.2 AspectJ各种切点指示器 81 

3.5.3 args()与“@args()” 81 

3.5.4 @annotation() 87 

3.5.5 execution 89 

3.5.6 target()与“@target()” 90 

3.5.7 this() 92 

3.5.8 within()与“@within()” 95 

3.6 Spring AOP的实现原理 98 

3.6.1 设计原理 99 

3.6.2 JdkDynamicAopProxy 106 

3.6.3 CglibAopProxy 110 

3.7 小结 115 

第二篇 Spring 5新特性篇 

第4章 Spring 5新特性概述 117 

4.1 Spring 5.0新特性 117 

4.1.1 运行环境 117 

4.1.2 删除的代码 118 

4.1.3 核心修改 118 

4.1.4 核心容器更新 118 

4.1.5 Spring Web MVC更新 118 

4.1.6 Spring WebFlux 119 

4.1.7 对Kotlin的支持 119 

4.1.8 测试改进 120 

4.2 Spring 5.1新特性 121 

4.2.1 核心修改 121 

4.2.2 核心容器更新 121 

4.2.3 Web修改 121 

4.2.4 Spring Web MVC更新 121 

4.2.5 Spring WebFlux更新 122 

4.2.6 Spring Messaging更新 122 

4.2.7 Spring ORM更新 122 

4.2.8 测试更新 122 

第5章 Java 8新特性概述 123 

5.1 Lambda表达式 123 

5.1.1 Lambda表达式初探 123 

5.1.2 Lambda表达式作用域 125 

5.1.3 在线程中使用Lambda表达式 126 

5.1.4 在集合中使用Lambda表达式 127 

5.1.5 在Stream中使用Lambda表达式 128 

5.2 接口默认方法 129 

5.3 小结 132 

第6章 Spring WebFlux响应式编程 133 

6.1 传统的编程模型 133 

6.2 响应式编程模型 134 

6.3 Reactor 135 

6.3.1 Flux与Mono 135 

6.3.2 subscribe() 137 

6.3.3 操作符(Operator) 139 

6.3.4 线程模型 144 

6.4 Spring WebFlux 146 

6.4.1 基于注解的WebFlux开发方式 146 

6.4.2 基于函数式的WebFlux开发方式 147 

6.5 小结 152 

第7章 WebClient响应式客户端 153 

7.1 RestTemplate调试Spring MVC 153 

7.2 WebClient调试Spring WebFlux 156 

7.3 小结 158 

第8章 Spring 5结合Kotlin编程 159 

8.1 Kotlin简介 159 

8.1.1 Kotlin的特性 159 

8.1.2 Kotlin基本数据类型 161 

8.1.3 Kotlin开发环境搭建 161 

8.1.4 在Kotlin中定义常量与变量 162 

8.1.5 字符串模板 162 

8.1.6 NULL检查机制 163 

8.1.7 For循环和区间 163 

8.1.8 定义函数 166 

8.1.9 类和对象 167 

8.1.10 Kotlin与Java互操作 169 

8.2 Spring 5集成Kotlin 170 

8.3 小结 172 

第9章 Spring 5更多新特性 173 

9.1 Resource接口 173 

9.2 HTTP 2 174 

9.2.1 HTTP的现状 174 

9.2.2 HTTP 2的新特性 174 

9.2.3 多路复用与长连接的区别 175 

9.3 JUnit 5 176 

9.3.1 JUnit 5简介 176 

9.3.2 JUnit 5快速体验 176 

9.3.3 JUnit 5常用注解 178 

9.4 小结 179 

第三篇 Spring系统集成篇 

第10章 Spring集成Log4j2 181 

10.1 Log4j2配置详解 181 

10.2 Log4j2日志级别 184 

10.3 Log4j2实战演练 185 

10.4 小结 188 

第11章 Spring集成Spring MVC 189 

11.1 Spring MVC快速体验 189 

11.1.1 web.xml配置 189 

11.1.2 创建Spring MVC的配置 文件 190 

11.1.3 创建Spring MVC的视图 文件 190 

11.1.4 创建控制器 191 

11.1.5 测试运行 191 

11.2 Spring MVC视图呈现 192 

11.2.1 FreeMarker视图的实现 192 

11.2.2 XML视图的实现 193 

11.2.3 JSON视图的实现 195 

11.3 Spring MVC拦截器 196 

11.4 Spring MVC代码解析 198 

11.5 小结 225 

第12章 Spring集成MyBatis 226 

12.1 Spring、Spring MVC和MyBatis集成 快速体验 226 

12.2 MyBatis代码解析 236 

12.3 小结 243 

第13章 Spring事务管理 244 

13.1 事务的特性 244 

13.2 事务的隔离级别 244 

13.2.1 READ_UNCOMMITTED 245 

13.2.2 READ_COMMITTED 245 

13.2.3 REPEATABLE_READ 246 

13.2.4 SERIALIZABLE 246 

13.3 JDBC方式使用事务 247 

13.4 Spring事务管理快速体验 248 

13.5 Spring事务隔离级别 254 

13.6 Spring事务传播行为 255 

13.7 Spring事务代码分析 255 

13.8 小结 263 

第14章 Spring集成Redis 264 

14.1 Redis单节点安装 264 

14.2 Redis支持的数据类型 266 

14.2.1 Redis String类型的使用 方式 266 

14.2.2 Redis Hash类型的使用 方式 271 

14.2.3 Redis List类型的使用 方式 274 

14.2.4 Redis Set类型的使用 方式 277 

14.2.5 Redis SortedSet类型的使用 方式 280 

14.3 Redis持久化策略 284 

14.3.1 Redis RDB持久化 284 

14.3.2 Redis AOF持久化 285 

14.4 Redis主从复制模式 287 

14.4.1 Redis一主一从拓扑结构 289 

14.4.2 Redis一主多从拓扑结构 289 

14.4.3 Redis树形拓扑结构 290 

14.4.4 Redis主从架构的缺点 291 

14.5 Redis哨兵模式 291 

14.5.1 Redis哨兵模式简介 291 

14.5.2 Redis哨兵定时监控任务 292 

14.5.3 主观下线和客观下线 294 

14.5.4 Redis哨兵选举领导者 295 

14.5.5 故障转移 295 

14.5.6 Redis哨兵模式安装部署 296 

14.6 Redis集群模式 302 

14.6.1 Redis集群模式数据共享 303 

14.6.2 Redis集群中的主从复制 303 

14.6.3 Redis集群中的一致性 问题 303 

14.6.4 Redis集群架构 304 

14.6.5 Redis集群容错 304 

14.6.6 Redis集群环境搭建 305 

14.7 Spring、MyBatis和Redis集成快速 体验 313 

14.8 Redis缓存穿透和雪崩 323 

14.8.1 Redis缓存穿透 323 

14.8.2 Redis缓存雪崩 326 

14.9 小结 329 

第15章 Spring集成ZooKeeper 330 

15.1 ZooKeeper集群安装 330 

15.2 ZooKeeper总体架构 336 

15.2.1 ZooKeeper选举机制 336 

15.2.2 ZooKeeper数据模型 338 

15.3 Spring集成ZooKeeper快速体验 342 

15.4 ZooKeeper发布订阅 346 

15.4.1 NodeCache 346 

15.4.2 PathChildrenCache 349 

15.4.3 TreeCache 352 

15.5 ZooKeeper分布式锁 356 

15.6 小结 361 

第16章 Spring集成Kafka 362 

16.1 Kafka集群安装 362 

16.2 Kafka总体架构 365 

16.3 Spring集成Kafka快速体验 374 

16.4 小结 377 

第17章 Spring集成Mycat 379 

17.1 Mycat分库分表 379 

17.2 Mycat分库分表实战 381 

17.3 Spring+MyBatis+Mycat快速体验 386 

17.4 小结 397 

第18章 Spring集成Sharding-JDBC 398 

18.1 Spring集成Sharding-JDBC快速 体验 398 

18.2 Sharding-JDBC强制路由 407 

18.3 Sharding-JDBC分布式主键 408 

18.4 小结 413 

第19章 Spring集成Dubbo 414 

19.1 远程过程调用协议 414 

19.2 Spring集成Dubbo快速体验 415 

19.3 Dubbo代码分析 419 

19.4 小结 452 

附录A 设计模式 453 

A.1 工厂模式 453 

A.2 抽象工厂模式 456 

A.3 单例模式 462 

A.4 建造者模式 463 

A.5 原型模式 468 

A.6 适配器模式 472 

A.7 桥接模式 476 

A.8 标准模式 477 

A.9 组合模式 481 

A.10 装饰器模式 483 

A.11 外观模式 486 

A.12 享元模式 489 

A.13 代理模式 491 

A.14 责任链模式 493 

A.15 命令模式 496 

A.16 解释器模式 499 

A.17 迭代器模式 502 

A.18 中介者模式 504 

A.19 备忘录模式 506 

A.20 观察者模式 509 

A.21 状态 模 式 511 

A.22 空对象模式 513 

A.23 策略模式 516 

A.24 模板模式 519 

A.25 拦截过滤器模式 522 

参考文献 365


本目录推荐