注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络网络与数据通信网络服务一步一步学Spring Boot:微服务项目实战(第2版)

一步一步学Spring Boot:微服务项目实战(第2版)

一步一步学Spring Boot:微服务项目实战(第2版)

定 价:¥69.00

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

购买这本书可以去


ISBN: 9787302542483 出版时间: 2019-12-01 包装:
开本: 页数: 字数:  

内容简介

  本书深入浅出地介绍了Spring Boot 2.x在Web应用开发中的各种技术。全书共21章,第1章由零开始,引导读者快速搭建Spring Boot开发环境,为之后Spring Boot的探险之旅奠定基础。第2章、第3章、第10章和第13章介绍了Spring Boot的数据访问应用,包括Spring Boot集成Druid、Spring Data JPA和MyBatis以及快速访问MySQL和MongoDB数据库。第4~6章,介绍了Spring Boot集成Thymeleaf模板引擎、事务及拦截器和监听器的应用。第7~9章介绍Spring Boot使用Redis缓存和Quartz定时器、集成Log4J日志框架和发送Email邮件。第11~12章介绍Spring Boot集成ActiveMQ、异步调用和全局异常使用。第14~15章介绍Spring Boot应用监控和应用安全Security。第16~17章介绍Spring Boot微服务在Zookeeper中的注册、Dubbo的使用、多环境配置和使用以及在Tomcat中的部署应用。第18~20章主要探索Spring Boot的容器化、单元测试以及背后的原理和执行流程。第21章以秒杀系统为例,介绍Spring Boot在项目开发中的应用。 本书既介绍了Spring Boot背后的原理和执行流程,又突出了Spring Boot与各种热点技术的整合应用,适用于所有Java编程语言开发人员、Spring Boot开发爱好者以及计算机专业的学生等,也很适合作为培训机构与大专院校的教学用书。

作者简介

  黄文毅CSDN博客专家,高级软件工程师。先后就职于厦门星耀蓝图、上海美团等科技公司,目前就职于厦门美图科技有限公司,从事Java开发工作。具有丰富的软件开发经验,熟悉Java、高并发、大数据及相关软件架构。出版《公布式微服务架构:原理与实践》《Spring 5企业级开发实战》(与人合著)《Spring MVC MyBatis快速开发与项目实战》等多部技术图书。

图书目录

目    录 第1章  个Spring Boot项目 1 1.1  Spring Boot开发环境准备 1 1.1.1  安装JDK 1 1.1.2  安装Intellij IDEA 3 1.1.3  安装Apache Maven 3 1.2  一分钟快速搭建Spring Boot项目 5 1.2.1  使用Spring Initializr新建项目 5 1.2.2  测试 7 1.2.3  Spring Boot三种启动方式 8 1.3  Spring Boot文件目录介绍 9 1.3.1  工程目录 9 1.3.2  入口类 10 1.3.3  测试类 11 1.3.4  pom文件 12 1.4  Spring Boot 2.x新特性 14 1.4.1  配置变更 14 1.4.2  第三方类库升级 14 1.4.3  HTTP/2支持 14 1.4.4  响应式Spring编程支持 14 1.4.5  其他新特性 15 1.5  Maven Helper插件的安装和使用 15 1.5.1  Maven Helper插件安装 15 1.5.2  Maven Helper插件使用 16 1.6  思考题 16 第2章  集成MySQL数据库 18 2.1  MySQL介绍与安装 18 2.1.1  MySQL概述 18 2.1.2  MySQL安装 18 2.2  集成MySQL数据库 19 2.2.1  引入依赖 20 2.2.2  添加数据库配置 20 2.2.3  设计表和实体 20 2.3  集成测试 22 2.3.1  测试用例开发 22 2.3.2  测试 23 2.3.3  Navicat for MySQL客户端安装与使用 23 2.3.4  Intellij IDEA连接MySQL 24 2.4  集成Druid 25 2.4.1  Druid概述 25 2.4.2  引入依赖 26 2.4.3  Druid配置 26 2.4.4  开启监控功能 27 2.4.5  测试 29 2.5  HikariCP连接池 29 2.5.1  HikariCP概述 29 2.5.2  HikariCP的使用 30 第3章  集成Spring Data JPA 32 3.1  Spring Data JPA介绍 32 3.1.1  Spring Data JPA介绍 32 3.1.2  核心接口Repository 33 3.1.3  接口继承关系图 34 3.2  集成Spring Data JPA 34 3.2.1  引入依赖 34 3.2.2  继承JpaRepository 35 3.2.3  服务层类实现 37 3.2.4  增删改查分页简单实现 39 3.2.5  自定义查询方法 40 3.3  集成测试 42 3.3.1  测试用例开发 42 3.3.2  测试 43 3.4  思考题 43 第4章  Thymeleaf模板引擎与集成测试 44 4.1  Thymeleaf模板引擎介绍 44 4.2  使用Thymeleaf模板引擎 45 4.2.1  引入依赖 45 4.2.2  控制层开发 46 4.2.3  Thymeleaf模板页面开发 47 4.3  集成测试 48 4.3.1  测试 48 4.3.2  REST Client工具介绍 49 4.3.3  使用REST Client测试 49 第5章  Spring Boot事务支持 50 5.1  Spring事务介绍 50 5.1.1  Spring事务回顾 50 5.1.2  Spring声明式事务 51 5.1.3  Spring注解事务行为 51 5.2  Spring Boot事务使用 53 5.2.1  Spring Boot事务介绍 53 5.2.2  类级别事务 53 5.2.3  方法级别事务 54 5.2.4  测试 55 5.3  思考题 56 第6章  使用过滤器和监听器 57 6.1  Spring Boot使用过滤器Filter 57 6.1.1  过滤器Filter介绍 57 6.1.2  过滤器Filter的使用 58 6.1.3  测试 60 6.2  Spring Boot使用监听器Listener 60 6.2.1  监听器Listener介绍 60 6.2.2  监听器Listener的使用 61 6.2.3  测试 62 第7章  集成Redis缓存 63 7.1  Redis缓存介绍 63 7.1.1  Redis概述 63 7.1.2  Redis服务器安装 63 7.1.3  Redis缓存测试 65 7.2  Spring Boot集成Redis缓存 71 7.2.1  Spring Boot缓存支持 71 7.2.2  引入依赖 71 7.2.3  添加缓存配置 72 7.2.4  测试用例开发 72 7.2.5  测试 73 7.3  Redis缓存在Spring Boot中的使用 74 7.3.1  监听器Listener开发 74 7.3.2  项目启动缓存数据 76 7.3.3  更新缓存数据 76 7.3.4  测试 77 第8章  集成Log4J日志 79 8.1  Log4J概述 79 8.2  集成Log4J2 81 8.2.1  引入依赖 81 8.2.2  添加Log4J配置 82 8.2.3  创建log4j2.xml文件 82 8.3  使用Log4J记录日志 83 8.3.1  打印到控制台 83 8.3.2  记录到文件 84 8.3.3  测试 86 8.4  思考题 87 第9章  Quartz定时器和发送Email 88 9.1  使用Quartz定时器 88 9.1.1  Quartz概述 88 9.1.2  引入依赖 90 9.1.3  定时器配置文件 90 9.1.4  创建定时器类 92 9.1.5  Spring Boot扫描配置文件 94 9.1.6  测试 94 9.2  Spring Boot发送Email 94 9.2.1  Email介绍 94 9.2.2  引入依赖 95 9.2.3  添加Email配置 95 9.2.4  在定时器中发送邮件 96 9.2.5  测试 99 第10章  集成MyBatis 100 10.1  MyBatis介绍 100 10.2  集成MyBatis的步骤 100  10.2.1  引入依赖 100  10.2.2  添加MyBatis配置 101  10.2.3  Dao层和Mapper文件开发 101  10.2.4  测试 104 第11章  异步消息与异步调用 106 11.1  JMS消息概述 106 11.2  Spring Boot集成ActiveMQ 107  11.2.1  ActiveMQ概述 107  11.2.2  ActiveMQ的安装 108  11.2.3  引入依赖 109  11.2.4  添加ActiveMQ配置 109 11.3  使用ActiveMQ 110  11.3.1  创建生产者 110  11.3.2  创建消费者 113  11.3.3  测试 114 11.4  Spring Boot异步调用 118  11.4.1  异步调用概述 118  11.4.2  @Async使用 118  11.4.3  测试 119 第12章  全局异常处理与Retry重试 122 12.1  全局异常介绍 122 12.2  Spring Boot全局异常使用 123  12.2.1  自定义错误页面 123  12.2.2  测试 124  12.2.3  全局异常类开发 124  12.2.4  测试 127 12.3  Retry重试机制 127  12.3.1  Retry重试概述 127  12.3.2  Retry重试机制使用 128  12.3.3  测试 130 第13章  集成MongoDB数据库 131 13.1  MongoDB数据库介绍 131  13.1.1  MongoDB的安装 131  13.1.2  NoSQL Manager for MongoDB客户端的使用 133 13.2  集成MongoDB 134  13.2.1  引入依赖 134  13.2.2  添加MongoDB配置 134  13.2.3  连接MongoDB 135  13.2.4  测试 137 第14章  集成Spring Security 138 14.1  Spring Security概述 138 14.2  集成Spring Security的步骤 139  14.2.1  引入依赖 139  14.2.2  配置Spring Security 140  14.2.3  测试 142  14.2.4  数据库用户授权登录 142  14.2.5  测试 149 第15章  Spring Boot应用监控 150 15.1  应用监控介绍 150 15.2  使用监控 151  15.2.1  引入依赖 151  15.2.2  添加配置 151  15.2.3  测试 152 15.3  自定义端点 155  15.3.1  自定义端点EndPoint 155  15.3.2  测试 156  15.3.3  自定义HealthIndicator 157  15.3.4  测试 160 15.4  保护Actuator端点 161 第16章  集成Dubbo和Zookeeper 163 16.1  Zookeeper的介绍与安装 163  16.1.1  Zookeeper概述 163  16.1.2  Zookeeper的安装与启动 164 16.2  Spring Boot集成Dubbo 165  16.2.1  Dubbo概述 165  16.2.2  服务与接口拆分思路 167  16.2.3  服务与接口拆分实践 167  16.2.4  正式版发布 171  16.2.5  Service服务端开发 172  16.2.6  Service服务注册 173  16.2.7  Client客户端开发 174 第17章  多环境配置与部署 175 17.1  多环境配置概述 175 17.2  多环境配置的使用 177  17.2.1  添加多个配置文件 177  17.2.2  配置激活选项 177  17.2.3  测试 178 17.3  自定义属性与加载 179  17.3.1  自定义属性 179  17.3.2  参数间的引用 181  17.3.3  使用随机数 182 17.4  部署 184  17.4.1  Spring Boot内置Tomcat 184  17.4.2  Intellij IDEA配置Tomcat 185  17.4.3  war包部署 187  17.4.4  测试 187 17.5  热部署 188 17.6  思考题 189 第18章  微服务容器化 191 18.1  Docker概述 191  18.1.1  Docker的优势 191  18.1.2  Docker的基本概念 193  18.1.3  Docker架构 194  18.1.4  Docker的安装 195 18.2  Docker的常用命令 198 18.3  制作与自动化构建镜像 205  18.3.1  制作镜像 205  18.3.2  使用Dockerfile构建镜像 208 18.4  Spring Boot集成Docker 212 第19章  微服务测试 217 19.1  Spring Boot单元测试 217  19.1.1  关于测试 217  19.1.2  微服务测试 218 19.2  Spring Boot单元测试 220 19.3  Mockito/PowerMockito测试框架 223  19.3.1  Mockito概述 223  19.3.2  Mockito简单实例 224  19.3.3  PowerMock概述 227  19.3.4  PowerMockito简单实例 228 19.4  H2内存型数据库 231  19.4.1  H2概述 231  19.4.2  Spring Boot集成H2 231 19.5  REST API测试 235  19.5.1  Postman概述 235  19.5.2  Postman的简单使用 235 19.6  性能测试 238  19.6.1  AB概述 238  19.6.2  AB测试 239 第20章  Spring Boot原理解析 241 20.1  回顾入口类 241  20.1.1  DemoApplication入口类 241  20.1.2  @SpringBootApplication的原理 242  20.1.3  SpringApplication的run方法 243  20.1.4  SpringApplicationRunListeners监听器 245  20.1.5  ApplicationContextInitializer接口 246  20.1.6  ApplicationRunner与CommandLineRunner 247 20.2  SpringApplication执行流程 248 20.3  spring-boot-starter原理 250  20.3.1  自动配置条件依赖 250  20.3.2  Bean参数获取 255  20.3.3  Bean的发现与加载 256  20.3.4  自定义starter 263 20.4  跨域访问 269 20.5  优雅关闭 270  20.5.1  Java优雅停机 270  20.5.2  Spring Boot优雅停机 273 20.6  将SSM/Maven项目改造为Spring Boot项目 276  20.6.1  创建Maven项目 276  20.6.2  种改造方法 278  20.6.3  第二种改造方法 279 20.7  思考题 281 第21章  实战高并发秒杀系统 283 21.1  秒杀系统业务 283  21.1.1  什么是秒杀 283  21.1.2  秒杀系统的工作流程 284 21.2  秒杀系统的简单实现 284  21.2.1  创建Spring Boot项目 284  21.2.2  库表设计与Model实体类 285  21.2.3  集成MySQL和JPA 290  21.2.4  Service服务层的设计与开发 292  21.2.5  Controller控制层的设计与开发 295  21.2.6  前端页面的设计与开发 297  21.2.7  代码测试 300  21.2.8  总结 301 21.3  秒杀系统读优化 302  21.3.1  高并发读优化 302  21.3.2  使用Redis缓存 302 21.4  流量削峰 306  21.4.1  流量削峰的原因 306  21.4.2  集成ActiveMQ 306  21.4.3  生产者开发 307  21.4.4  消费者开发 308 21.5  业务优化 310  21.5.1  答题/验证码 310  21.5.2  分时分段 311  21.5.3  禁用秒杀按钮 311 21.6  降级、限流、拒绝服务 311  21.6.1  降级 311  21.6.2  限流 312  21.6.3  拒绝服务 312 21.7  避免单点 312 21.8  总结 313 参考文献 314    

本目录推荐