SPRING 5企业级开发实战

本书特色

[

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编程语言开发人员、分布式系统开发爱好者以及计算机专业的学生等。

]

内容简介

[

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

]

作者简介

[

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

]

目录

目 录**篇 Spring基础篇 第1章 环境搭建 31.1 Spring介绍 31.1.1 Spring设计目标 31.1.2 Spring各个子模块 31.1.3 Spring使用场景 41.1.4 Spring与Spring MVC的关系 51.1.5 Spring 5高级特性 51.2 环境准备 51.2.1 安装JDK 51.2.2 安装IntelliJ IDEA 61.2.3 安装Apache Maven 61.2.4 安装Apache Tomcat 71.3 快速搭建Spring 5项目 81.3.1 使用IntelliJ IDEA创建Spring 5 Spring MVC项目 81.3.2 测试部署 91.4 小结 9第2章 Spring IoC容器原理 102.1 IoC容器揭秘 102.1.1 IoC的概念 102.1.2 依赖倒置原则 112.1.3 依赖注入 162.2 Spring IoC的实现方式 172.2.1 XML方式实现 172.2.2 通过注解方式实现 202.3 Spring IoC实现原理解析 212.3.1 BeanFactory代码解析 212.3.2 ApplicationContext代码解析 222.3.3 BeanDefinition代码解析 232.3.4 Spring IoC代码分析 232.4 Spring IoC容器中Bean的生命周期 442.5 小结 52第3章 Spring AOP揭秘 533.1 AOP前置知识 533.1.1 JDK动态代理 533.1.2 CGLIB动态代理 563.1.3 AOP联盟 583.2 AOP概述 583.2.1 AOP基本概念 583.2.2 Spring AOP相关概念 593.3 Spring AOP实现 603.3.1 基于JDK动态代理实现 603.3.2 基于CGLIB动态代理实现 653.4 基于Spring AOP的实战 703.4.1 增强类型 703.4.2 前置增强 713.4.3 后置增强 733.4.4 环绕增强 743.4.5 异常抛出增强 753.4.6 引介增强 753.4.7 切入点类型 773.5 Spring集成AspectJ实战 783.5.1 使用AspectJ方式配置Spring AOP 783.5.2 AspectJ各种切点指示器 813.5.3 args()与“@args()” 813.5.4 @annotation() 873.5.5 execution 893.5.6 target()与“@target()” 903.5.7 this() 923.5.8 within()与“@within()” 953.6 Spring AOP的实现原理 983.6.1 设计原理 993.6.2 JdkDynamicAopProxy 1063.6.3 CglibAopProxy 1103.7 小结 115 第二篇 Spring 5新特性篇 第4章 Spring 5新特性概述 1174.1 Spring 5.0新特性 1174.1.1 运行环境 1174.1.2 删除的代码 1184.1.3 核心修改 1184.1.4 核心容器更新 1184.1.5 Spring Web MVC更新 1184.1.6 Spring WebFlux 1194.1.7 对Kotlin的支持 1194.1.8 测试改进 1204.2 Spring 5.1新特性 1214.2.1 核心修改 1214.2.2 核心容器更新 1214.2.3 Web修改 1214.2.4 Spring Web MVC更新 1214.2.5 Spring WebFlux更新 1224.2.6 Spring Messaging更新 1224.2.7 Spring ORM更新 1224.2.8 测试更新 122第5章 Java 8新特性概述 1235.1 Lambda表达式 1235.1.1 Lambda表达式初探 1235.1.2 Lambda表达式作用域 1255.1.3 在线程中使用Lambda表达式 1265.1.4 在集合中使用Lambda表达式 1275.1.5 在Stream中使用Lambda表达式 1285.2 接口默认方法 1295.3 小结 132第6章 Spring WebFlux响应式编程 1336.1 传统的编程模型 1336.2 响应式编程模型 1346.3 Reactor 1356.3.1 Flux与Mono 1356.3.2 subscribe() 1376.3.3 操作符(Operator) 1396.3.4 线程模型 1446.4 Spring WebFlux 1466.4.1 基于注解的WebFlux开发方式 1466.4.2 基于函数式的WebFlux开发方式 1476.5 小结 152第7章 WebClient响应式客户端 1537.1 RestTemplate调试Spring MVC 1537.2 WebClient调试Spring WebFlux 1567.3 小结 158第8章 Spring 5结合Kotlin编程 1598.1 Kotlin简介 1598.1.1 Kotlin的特性 1598.1.2 Kotlin基本数据类型 1618.1.3 Kotlin开发环境搭建 1618.1.4 在Kotlin中定义常量与变量 1628.1.5 字符串模板 1628.1.6 NULL检查机制 1638.1.7 For循环和区间 1638.1.8 定义函数 1668.1.9 类和对象 1678.1.10 Kotlin与Java互操作 1698.2 Spring 5集成Kotlin 1708.3 小结 172第9章 Spring 5更多新特性 1739.1 Resource接口 1739.2 HTTP 2 1749.2.1 HTTP的现状 1749.2.2 HTTP 2的新特性 1749.2.3 多路复用与长连接的区别 1759.3 JUnit 5 1769.3.1 JUnit 5简介 1769.3.2 JUnit 5快速体验 1769.3.3 JUnit 5常用注解 1789.4 小结 179 第三篇 Spring系统集成篇 第10章 Spring集成Log4j2 18110.1 Log4j2配置详解 18110.2 Log4j2日志级别 18410.3 Log4j2实战演练 18510.4 小结 188第11章 Spring集成Spring MVC 18911.1 Spring MVC快速体验 18911.1.1 web.xml配置 18911.1.2 创建Spring MVC的配置 文件 19011.1.3 创建Spring MVC的视图 文件 19011.1.4 创建控制器 19111.1.5 测试运行 19111.2 Spring MVC视图呈现 19211.2.1 FreeMarker视图的实现 19211.2.2 XML视图的实现 19311.2.3 JSON视图的实现 19511.3 Spring MVC拦截器 19611.4 Spring MVC代码解析 19811.5 小结 225第12章 Spring集成MyBatis 22612.1 Spring、Spring MVC和MyBatis集成 快速体验 22612.2 MyBatis代码解析 23612.3 小结 243第13章 Spring事务管理 24413.1 事务的特性 24413.2 事务的隔离级别 24413.2.1 READ_UNCOMMITTED 24513.2.2 READ_COMMITTED 24513.2.3 REPEATABLE_READ 24613.2.4 SERIALIZABLE 24613.3 JDBC方式使用事务 24713.4 Spring事务管理快速体验 24813.5 Spring事务隔离级别 25413.6 Spring事务传播行为 25513.7 Spring事务代码分析 25513.8 小结 263第14章 Spring集成Redis 26414.1 Redis单节点安装 26414.2 Redis支持的数据类型 26614.2.1 Redis String类型的使用 方式 26614.2.2 Redis Hash类型的使用 方式 27114.2.3 Redis List类型的使用 方式 27414.2.4 Redis Set类型的使用 方式 27714.2.5 Redis SortedSet类型的使用 方式 28014.3 Redis持久化策略 28414.3.1 Redis RDB持久化 28414.3.2 Redis AOF持久化 28514.4 Redis主从复制模式 28714.4.1 Redis一主一从拓扑结构 28914.4.2 Redis一主多从拓扑结构 28914.4.3 Redis树形拓扑结构 29014.4.4 Redis主从架构的缺点 29114.5 Redis哨兵模式 29114.5.1 Redis哨兵模式简介 29114.5.2 Redis哨兵定时监控任务 29214.5.3 主观下线和客观下线 29414.5.4 Redis哨兵选举领导者 29514.5.5 故障转移 29514.5.6 Redis哨兵模式安装部署 29614.6 Redis集群模式 30214.6.1 Redis集群模式数据共享 30314.6.2 Redis集群中的主从复制 30314.6.3 Redis集群中的一致性 问题 30314.6.4 Redis集群架构 30414.6.5 Redis集群容错 30414.6.6 Redis集群环境搭建 30514.7 Spring、MyBatis和Redis集成快速 体验 31314.8 Redis缓存穿透和雪崩 32314.8.1 Redis缓存穿透 32314.8.2 Redis缓存雪崩 32614.9 小结 329第15章 Spring集成ZooKeeper 33015.1 ZooKeeper集群安装 33015.2 ZooKeeper总体架构 33615.2.1 ZooKeeper选举机制 33615.2.2 ZooKeeper数据模型 33815.3 Spring集成ZooKeeper快速体验 34215.4 ZooKeeper发布订阅 34615.4.1 NodeCache 34615.4.2 PathChildrenCache 34915.4.3 TreeCache 35215.5 ZooKeeper分布式锁 35615.6 小结 361第16章 Spring集成Kafka 36216.1 Kafka集群安装 36216.2 Kafka总体架构 36516.3 Spring集成Kafka快速体验 37416.4 小结 377第17章 Spring集成Mycat 37917.1 Mycat分库分表 37917.2 Mycat分库分表实战 38117.3 Spring MyBatis Mycat快速体验 38617.4 小结 397第18章 Spring集成Sharding-JDBC 39818.1 Spring集成Sharding-JDBC快速 体验 39818.2 Sharding-JDBC强制路由 40718.3 Sharding-JDBC分布式主键 40818.4 小结 413第19章 Spring集成Dubbo 41419.1 远程过程调用协议 41419.2 Spring集成Dubbo快速体验 41519.3 Dubbo代码分析 41919.4 小结 452附录A 设计模式 453A.1 工厂模式 453A.2 抽象工厂模式 456A.3 单例模式 462A.4 建造者模式 463A.5 原型模式 468A.6 适配器模式 472A.7 桥接模式 476A.8 标准模式 477A.9 组合模式 481A.10 装饰器模式 483A.11 外观模式 486A.12 享元模式 489A.13 代理模式 491A.14 责任链模式 493A.15 命令模式 496A.16 解释器模式 499A.17 迭代器模式 502A.18 中介者模式 504A.19 备忘录模式 506A.20 观察者模式 509A.21 状态 模 式 511A.22 空对象模式 513A.23 策略模式 516A.24 模板模式 519A.25 拦截过滤器模式 522参考文献 365

封面

SPRING 5企业级开发实战

书名:SPRING 5企业级开发实战

作者:周冠亚、黄文毅

页数:0

定价:¥118.0

出版社:清华大学出版社

出版日期:2018-05-01

ISBN:9787302531029

PDF电子书大小:158MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注