深入浅出Spring Boot 3.x

深入浅出Spring Boot 3.x

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

全方位讲解Spring Boot 3.x技术。

内容简介

Spring框架是Java EE开发的强有力的工具和事实标准,而Spring Boot采用“约定优于配置”的原则简化 Spring的开发,成为业界流行的微服务开发框架,被越来越多的企业采用。

本书从一个简单的项目开始讲解Spring Boot企业级开发,其内容包含全注解下的Spring IoC和Spring AOP、数据库编程(JPA、MyBatis和JDBC)、数据库事务、NoSQL数据库(Redis和MongoDB)技术、Spring MVC、REST风格、互联网抢购业务、监控与容器部署、Spring Cloud Alibaba微服务开发等。

作者简介

作者杨开振,精通Java互联网技术开发和实践,拥有十余年一线企业开发经验,著有业内畅销书《深入浅出MyBatis技术原理与实战》和《Java EE互联网轻量级框架整合开发》。

章节目录

版权信息

内容提要

前言

资源与支持

第1章 Spring Boot 3.x的来临

1.1 Spring框架的历史

1.2 Spring Boot的特点

1.3 Spring和Spring Boot的关系

1.4 开发Spring Boot项目

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

2.1 搭建Spring Boot开发环境

2.1.1 搭建Eclipse开发环境

2.1.2 搭建IntelliJ IDEA开发环境

2.2 使用自定义配置

2.3 开发自己的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和@Qualifier

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

3.4 生命周期

3.5 使用属性文件

3.6 条件装配Bean

3.7 Bean的作用域

3.8 使用注解@Profile

3.9 使用SpEL

第4章 开始约定编程

4.1 约定编程

4.1.1 约定

4.1.2 ProxyBean的实现

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.4.3 事务状态

6.5 Spring数据库事务实战

6.5.1 准确启用Spring数据库事务

6.5.2 占用事务时间过长

6.5.3 @Transactional自调用失效问题

第7章 使用性能利器

7.1 spring-data-redis项目简介

7.1.1 spring-data-redis项目的设计

7.1.2 RedisTemplate和StringRedisTemplate

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章 文档数据库

8.1 配置MongoDB

8.2 使用MongoTemplate实例

8.2.1 准备MongoDB的文档

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 一对一转换器

10.3.3 GenericConverter集合和数组转换

10.4 数据验证

10.4.1 JSR-303验证

10.4.2 参数验证机制

10.5 数据模型

10.6 视图和视图解析器

10.6.1 视图设计

10.6.2 视图实例——导出Excel文档

10.7 文件上传

10.7.1 文件上传的配置项

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 获取状态码和响应头

11.3.3 定制请求体和响应类型

第12章 安全

12.1 概述和简单安全验证

12.1.1 使用用户密码登录系统

12.1.2 Spring Security的配置项

12.1.3 开发Spring Security的主要的类

12.2 使用UserDetailsService接口定制用户信息

12.2.1 使用内存保存用户信息

12.2.2 从数据库中读取用户信息

12.2.3 使用自定义UserDetailsService对象

12.2.4 密码编码器

12.3 限制请求

12.3.1 配置请求路径访问权限

12.3.2 自定义验证方法

12.3.3 不拦截的请求

12.3.4 防止跨站点请求伪造

12.4 登录和登出设置

12.4.1 自定义登录页面

12.4.2 启用HTTP Basic验证

12.4.3 登出配置

第13章 学点Spring其他的技术

13.1 异步线程池

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

13.1.2 异步实例

13.2 异步消息

13.3 定时任务

第14章 实践一下

14.1 设计与开发

14.1.1 数据库表设计

14.1.2 使用MyBatis开发持久层

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

14.1.4 测试和配置

14.2 高并发开发

14.2.1 超发现象

14.2.2 悲观锁

14.2.3 乐观锁

第15章 打包、测试、监控、预先编译和容器部署

15.1 打包和运行

15.1.1 打包项目

15.1.2 运行项目

15.1.3 热部署

15.2 测试

15.2.1 构建测试类

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

15.2.3 Mock测试

15.3 Actuator监控端点

15.4 HTTP监控

15.4.1 查看敏感信息

15.4.2 shutdown端点

15.4.3 配置端点

15.4.4 自定义端点

15.4.5 健康指标项

15.5 JMX监控

15.6 预先编译

15.6.1 搭建GraalVM环境

15.6.2 创建项目

15.6.3 生成和运行原生文件

15.7 部署到Docker容器中

第16章 Spring Cloud Alibaba微服务开发

16.1 服务治理

16.1.1 下载、安装、配置和启动Nacos

16.1.2 服务发现

16.1.3 搭建Nacos集群

16.2 服务调用

16.2.1 客户端负载均衡

16.2.2 OpenFeign声明式服务调用

16.3 容错机制

16.3.1 设置埋点

16.3.2 Sentinel控制台

16.3.3 流控

16.3.4 熔断

16.3.5 在OpenFeign中使用Sentinel

16.4 API网关

16.4.1 Gateway的工作原理

16.4.2 配置路由规则

16.4.3 过滤器

16.4.4 使用Sentinel管控Gateway

附录 Spring Boot知识点补充

A.1 Java 8和之后版本的新语法

A.1.1 Lambda表达式

A.1.2 本地变量类型推断

A.1.3 switch语句的改善

A.1.4 文本块

A.1.5 紧凑声明类的关键字record

A.1.6 instanceof语法的改善

A.2 选择内嵌服务器

A.3 修改商标

深入浅出Spring Boot 3.x是2024年由人民邮电出版社出版,作者杨开振。

得书感谢您对《深入浅出Spring Boot 3.x》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
程序员超强大脑 电子书
专为程序员而写的大脑使用指南,令程序员大佬拍案叫绝的认知科学。
操作系统真象还原 电子书
全面讲解开发一个操作系统需要的技术和知识。
深入浅出WindowsAPI程序设计:核心编程篇 电子书
本书基于win 10和VS 2019编写,系统地介绍了Windows程序设计的核心编程思想与实践。
深入浅出WindowsAPI程序设计:编程基础篇 电子书
一本介绍Windows API程序设计的入门图书。
计算机组装与维护教程(第7版) 电子书
本书详细讲授多媒体计算机的各种部件,以及软件的安装和常见故障的维护和检修技术。