深入浅出Spring Boot 2.x pdf

图书网 2020年7月15日21:35:49深入浅出Spring Boot 2.x pdf已关闭评论2.3K
摘要

适读人群 :各类Java微服务开发人员,Spring开发人员,互联网技术爱好者,微服务开发人员,由于Java EE在互联网的强势地位,拥有的读者比较广阔。
本书重点讲解Spring Boot 2.x 技术, 首先通过与传统Spring MVC 开发进行对比让读者融入Spring Boot 的开发中,然后再分别介绍全注解下的Spring IoC 和AOP、结合MyBatis 框架详解数据库编程和其事务开发、流行的NoSQL(Redis和MongoDB)技术、Spring MVC 技术、REST风格网站搭建、Spring Security 技术、Spring 5.x 新发布的WebFlux 技术、高并发与锁、打包、测试、监控和Spring Cloud 入门等内容,从而帮助读者掌握企业级Spring Boot 开发的要点。
本书涵盖的内容从理论到互联网微服务后端的实践,无论是Java 互联网后端开发人员,或是从传统Spring 项目转向Spring Boot 的开发人员,还是Java 微服务开发人员,都可以从本书中获益。

深入浅出Spring Boot 2.x 作者:杨开振

深入浅出Spring Boot 2.x 出版社:人民邮电出版社

深入浅出Spring Boot 2.x 内容简介

Spring框架是Java EE开发的强有力的工具和事实标准,而Spring Boot采用“约定优于配置”的原则简化了Spring的开发,从而成为业界流行的微服务开发框架,已经被越来越多的企业采用。2018年3月Spring Boot的版本正式从1.x升级到了2.x,为了适应新潮流,本书将对Spring Boot 2.x技术进行深入讲解。

本书从一个很简单的工程开始讲解Spring Boot企业级开发,其内容包含全注解下的Spring IoC和AOP、数据库编程(JDBC、JPA和MyBatis)、数据库事务、NoSQL(Redis和MongoDB)技术、Spring MVC、Spring 5新一代响应式框架WebFlux、互联网抢购业务、部署与监控、REST风格和Spring Cloud分布式开发等。

本书内容紧扣互联网企业的实际要求,从全注解下Spring知识讲到Spring Boot的企业级开发,对于Java开发人员,尤其是初学Spring Boot的人员和需要从传统Spring转向Spring Boot开发的技术人员,具有很高的参考价值。

深入浅出Spring Boot 2.x 目录

第1章 Spring Boot来临

1.1 Spring的历史

1.2 注解还是XML

1.3 Spring Boot的优点

1.4 传统Spring MVC和Spring Boot的对比

第2章 聊聊开发环境搭建和基本开发

2.1 搭建Spring Boot开发环境

2.1.1 搭建Eclipse开发环境

2.1.2 搭建IntelliJ IDEA开发环境

2.2 Spring Boot的依赖和自动配置

2.3 使用自定义配置

2.4 开发自己的Spring Boot项目

第3章 全注解下的Spring IoC

3.1 IoC容器简介

3.2 装配你的Bean

3.2.1 通过扫描装配你的Bean

3.2.2 自定义第三方Bean

3.3 依赖注入

3.3.1 注解@Autowired

3.3.2 消除歧义性——@Primary和@Quelifier

3.3.3 带有参数的构造方法类的装配

3.4 生命周期

3.5 使用属性文件

3.6 条件装配Bean

3.7 Bean的作用域

3.8 使用@Profile

3.9 引入XML配置Bean

3.10 使用Spring EL

第4章 开始约定编程——Spring AOP

4.1 约定编程

4.1.1 约定

4.1.2 ProxyBean的实现

4.1.3 总结

4.2 AOP的概念

4.2.1 为什么使用AOP

4.2.2 AOP 术语和流程

4.3 AOP开发详解

4.3.1 确定连接点

4.3.2 开发切面

4.3.3 切点定义

4.3.4 测试AOP

4.3.5 环绕通知

4.3.6 引入

4.3.7 通知获取参数

4.3.8 织入

4.4 多个切面

第5章 访问数据库

5.1 配置数据源

5.1.1 启动默认数据源

5.1.2 配置自定义数据源

5.2 使用JdbcTemplate操作数据库

5.3 使用JPA(Hibernate)操作数据

5.3.1 概述

5.3.2 开发JPA

5.4 整合MyBatis框架

5.4.1 MyBatis简介

5.4.2 MyBatis的配置

5.4.3 Spring Boot整合MyBatis

5.4.4 MyBatis的其他配置

第6章 聊聊数据库事务处理

6.1 JDBC的数据库事务

6.2 Spring声明式事务的使用

6.2.1 Spring声明式数据库事务约定

6.2.2 @Transactional的配置项

6.2.3 Spring事务管理器

6.2.4 测试数据库事务

6.3 隔离级别

6.3.1 数据库事务的知识

6.3.2 详解隔离级别

6.4 传播行为

6.4.1 传播行为的定义

6.4.2 测试传播行为

6.5 @Transactional自调用失效问题

第7章 使用性能利器——Redis

7.1 spring-data-redis项目简介

7.1.1 spring-data-redis项目的设计

7.1.2 RedisTemplate

7.1.3 Spring对Redis数据类型操作的封装

7.1.4 SessionCallback和RedisCallback接口

7.2 在Spring Boot中配置和使用Redis

7.2.1 在Spring Boot中配置Redis

7.2.2 操作Redis数据类型

7.3 Redis的一些特殊用法

7.3.1 使用Redis事务

7.3.2 使用Redis流水线

7.3.3 使用Redis发布订阅

7.3.4 使用Lua脚本

7.4 使用Spring缓存注解操作Redis

7.4.1 缓存管理器和缓存的启用

7.4.2 开发缓存注解

7.4.3 测试缓存注解

7.4.4 缓存注解自调用失效问题

7.4.5 缓存脏数据说明

7.4.6 自定义缓存管理器

第8章 文档数据库——MongoDB

8.1 配置MongoDB

8.2 使用MongoTemplate实例

8.2.1 搭建开发环境

8.2.2 使用MongoTemplate操作文档

8.3 使用JPA

8.3.1 基本用法

8.3.2 使用自定义查询

第9章 初识Spring MVC

9.1 Spring MVC框架的设计

9.2 Spring MVC流程

9.3 定制Spring MVC的初始化

9.4 Spring MVC实例

9.4.1 开发控制器

9.4.2 视图和视图渲染

第10章 深入Spring MVC开发

10.1 处理器映射

10.2 获取控制器参数

10.2.1 在无注解下获取参数

10.2.2 使用@RequestParam获取参数

10.2.3 传递数组

10.2.4 传递JSON

10.2.5 通过URL传递参数

10.2.6 获取格式化参数

10.3 自定义参数转换规则

10.3.1 处理器获取参数逻辑

10.3.2 一对一转换器(Converter)

10.3.3 GenericConverter集合和数组转换

10.4 数据验证

10.4.1 JSR-303 验证

10.4.2 参数验证机制

10.5 数据模型

10.6 视图和视图解析器

10.6.1 视图设计

10.6.2 视图实例——导出PDF文件

10.7 文件上传

10.7.1 Spring MVC对文件上传的支持

10.7.2 开发文件上传功能

10.8 拦截器

10.8.1 拦截器的设计

10.8.2 开发拦截器

10.8.3 多个拦截器的顺序

10.9 国际化

10.9.1 国际化消息源

10.9.2 国际化解析器

10.9.3 国际化实例——SessionLocaleResolver

10.10 Spring MVC拾遗

10.10.1 @ResponseBody转换为JSON的秘密

10.10.2 重定向

10.10.3 操作会话对象

10.10.4 给控制器增加通知

10.10.5 获取请求头参数

第11章 构建REST风格网站

11.1 REST简述

11.1.1 REST名词解释

11.1.2 HTTP的动作

11.1.3 REST风格的一些误区

11.2 使用Spring MVC开发REST风格端点

11.2.1 Spring MVC整合REST

11.2.2 使用Spring开发REST风格的端点

11.2.3 使用@RestController

11.2.4 渲染结果

11.2.5 处理HTTP状态码、异常和响应头

11.3 客户端请求RestTemplate

11.3.1 使用RestTemplate请求后端

11.3.2 获取响应头、状态码和资源交换

第12章 安全——Spring Security

12.1 概述和简单安全认证

12.2 使用WebSecurityConfigurerAdapter自定义

12.3 自定义用户服务信息

12.3.1 使用内存签名服务

12.3.2 使用数据库定义用户认证服务

12.3.3 使用自定义用户认证服务

12.4 限制请求

12.4.1 配置请求路径访问权限

12.4.2 使用Spring表达式配置访问权限

12.4.3 强制使用HTTPS

12.4.4 防止跨站点请求伪造

12.5 用户认证功能

12.5.1 自定义登录页面

12.5.2 启用HTTP Basic认证

12.5.3 登出

第13章 学点Spring其他的技术

13.1 异步线程池

13.1.1 定义线程池和开启异步可用

13.1.2 异步实例

13.2 异步消息

13.2.1 JMS实例——ActiveMQ

13.2.2 使用AMQP——RabbitMQ

13.3 定时任务

13.4 WebSocket 应用

13.4.1 开发简易的WebSocket服务

13.4.2 使用STOMP

第14章 Spring 5新框架——WebFlux

14.1 基础概念

14.1.1 响应式编程的宣言

14.1.2 Reactor模型

14.1.3 Spring WebFlux的概述

14.1.4 WebHandler接口和运行流程

14.2 通过Spring MVC方式开发WebFlux服务端

14.2.1 开发持久层

14.2.2 开发服务层

14.2.3 开发控制层

14.2.4 配置服务

14.2.5 客户端开发——WebClient

14.3 深入WebFlux服务端开发

14.3.1 类型转换器——Converter

14.3.2 验证器——Validator

14.3.3 访问静态资源

14.4 深入客户端开发

14.4.1 处理服务端错误和转换

14.4.2 设置请求头

14.5 使用路由函数方式开发WebFlux

14.5.1 开发处理器

14.5.2 开发请求路由

14.5.3 使用过滤器

第15章 实践一下——抢购商品

15.1 设计与开发

15.1.1 数据库表设计

15.1.2 使用MyBatis开发持久层

15.1.3 使用Spring开发业务层和控制层

15.1.4 测试和配置

15.2 高并发开发

15.2.1 超发现象

15.2.2 悲观锁

15.2.3 乐观锁

15.2.4 使用Redis处理高并发

第16章 部署、测试和监控

16.1 部署和运行

16.1.1 打包

16.1.2 运行项目

16.1.3 热部署

16.2 测试

16.2.1 构建测试类

16.2.2 使用随机端口和REST风格测试

16.2.3 Mock测试

16.3 Actuator监控端点

16.4 HTTP监控

16.4.1 查看敏感信息

16.4.2 shutdown端点

16.4.3 配置端点

16.4.4 自定义端点

16.4.5 健康指标项

16.5 JMX监控

第17章 分布式开发——Spring Cloud

17.1 服务治理和服务发现——Eureka

17.1.1 配置服务治理节点

17.1.2 服务发现

17.1.3 配置多个服务治理中心节点

17.2 微服务之间的调用

17.2.1 Ribbon客户端负载均衡

17.2.2 Feign声明式调用

17.3 断路器——Hystrix

17.3.1 使用降级服务

17.3.2 启用Hystrix仪表盘

17.4 路由网关——Zuul

17.4.1 构建Zuul网关

17.4.2 使用过滤器

17.5 使用@SpringCloudApplication

附录 Spring Boot知识点补充

A.1 选择内嵌服务器

A.2 修改商标

A.3 深入Spring Boot自动装配

深入浅出Spring Boot 2.x 精彩文摘

第1章 Spring Boot来临

当今许多互联网企业采用Java EE的技术开发自己的后端服务器,其原因在于Java语言的简单、安全、支持多线程、高性能和多年Java EE的技术积累,能够快速、安全、高性能地构建互联网项目。而如果你身处于Java EE的领域,那么你一定听过Spring的大名,它是当今Java EE开发的事实标准,也是绝大部分企业构建Java EE应用的基础。开启Spring Boot讲解之前,让我们先回顾Spring Framework的历史。

1.1 Spring的历史

在Spring框架没有开发出来时,Java EE是以Sun公司(已经被Oracle公司收购,不复存在,但为了纪念其对Java发展进程的巨大影响力,全书还是保留其名称,以表致敬之意)所制定的EJB(Enterprise Java Bean)作为标准的。在“遥远”的EJB年代,开发一个EJB需要大量的接口和配置文件,直至EJB 2.0的年代,开发一个EJB还需要配置两个文件,其结果就是配置的工作量比开发的工作量还要大。其次EJB是运行在EJB容器中的,而Sun公司定义的JSP和Servlet却是运行在Web容器中的,于是你可以想象得到,你需要使用Web容器去调用EJB容器的服务。这就意味着存在以下的弊端:需要增加调用的配置文件才能让Web容器调用EJB容器;与此同时需要开发两个容器,非常多的配置内容和烦琐的规范导致开发效率十分低下,这非常让当时的开发者诟病;对于Web容器调用EJB容器的服务这种模式,注定了需要通过网络传递,造成性能不佳;对于测试人员还需要了解许多EJB烦琐的细节,才能进行配置和测试,这样测试也难以进行。

图书网:深入浅出Spring Boot 2.x pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...