《深入浅出Spring Boot 3.x》已经交稿,目前在编写《Spring Cloud Alibaba微服务实践》

这篇具有很好参考价值的文章主要介绍了《深入浅出Spring Boot 3.x》已经交稿,目前在编写《Spring Cloud Alibaba微服务实践》。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近基于《深入浅出Spring Boot 2.x》升级为《深入浅出Spring Boot 3.x》已经完成,预计明年春节后可以出版,我先贴出目录给大家看看。以后希望大家多多支持。

第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.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和@Qualifier

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

3.4  生命周期

3.5  使用属性文件

3.6  条件装配Bean

3.7  Bean的作用域

3.8  使用@Profile

3.9  使用Spring EL

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

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章  使用性能利器——Redis

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

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章  安全——Spring Security

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  异步消息——RabbitMQ

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章  打包、测试、监控、AOT和容器部署

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  AOT

15.6.1 搭建GraalVM环境

15.6.2 创建工程

15.6.3 生成和运行原生文件

15.7 部署到Docker容器中

第16章  Spring Cloud Alibaba微服务开发

16.1  服务治理——Alibaba Nacos

16.1.1  下载、安装和运行Nacos

16.1.2  服务发现

16.1.3  搭配Nacos集群

16.2  服务调用

16.2.1  客户端负载均衡

16.2.2  OpenFeign声明式调用

16.3  流量管控——Spring Cloud Alibaba Sentinel

16.3.1  设置埋点资源

16.3.2  Sentinel控制台

16.3.3 流控

16.3.4 熔断

16.3.5 在OpenFeign中使用Sentinel

16.4  路由网关——Spring Cloud Gateway

16.4.1  构建Gateway网关

16.4.2  使用全局过滤器

16.4.3  使用局部过滤器

附录

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  修改商标

预计今年11月左右可以出版,因为最近国家对出版社要求高,所以出书速度很慢。

Spring Boot 3.x只能支持Java 17 +,为了适应新的潮流,这本书尽量使用了最新的Java 8之后的语法,比如下面的代码:

@RequestMapping(value = "/valid/validate")
@ResponseBody
public Map<String, Object> validate(
        @Valid @RequestBody ValidatorPojo vp, Errors errors) {
    var errMap = new HashMap<String, Object>(); // ①
    // 获取错误列表
    var oes = errors.getAllErrors(); 
    for (ObjectError oe : oes) {
        String key = null;
        String msg = null;
        // 字段错误
        if (oe instanceof FieldError fieldError) { // 注意instanceof的新语法 ②
            key = fieldError.getField();// 获取错误验证字段名
        } else {
            // 非字段错误
            key = oe.getObjectName();// 获取验证对象名称
        }
        // 错误信息
        msg = oe.getDefaultMessage();
        errMap.put(key, msg);
    }
    return errMap;
}

注意上面的代码,引入了新的Java语法:文章来源地址https://www.toymoban.com/news/detail-493726.html

  • 代码①处,关键字var的使用,让Java编译器自己推断类型;
  • 代码②处,instanceof关键字的使用,判定后,省去强制转换。

到了这里,关于《深入浅出Spring Boot 3.x》已经交稿,目前在编写《Spring Cloud Alibaba微服务实践》的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring5深入浅出篇:Spring与工厂设计模式简介

    轻量级 JavaEE的解决⽅案 spring实际上就是对原有设计模式的一种高度封装和整合 整合设计模式 工厂设计模式 什么是工厂设计模式 当UserServiceImpl发生变化是会影响到userService等相关联的类,在线上环境不利于维护

    2024年01月18日
    浏览(45)
  • Spring5深入浅出篇:bean的生命周期

    指的是⼀个对象创建、存活、消亡的⼀个完整过程 由Spring负责对象的创建、存活、销毁,了解⽣命周期,有利于我们使⽤好Spring为我们创建的对象 创建阶段 Spring⼯⼚何时创建对象 当bean标签中增加scope=\\\"singleton\\\"时,当你创建对象所有的引用都是第一个对象的内存地址;sigleton:只

    2024年04月12日
    浏览(34)
  • 【深入浅出Spring Security(三)】默认登录认证的实现原理

    由默认的 SecurityFilterChain 为例(即表单登录),向服务器请求 /hello 资源Spring Security 的流程分析如下: 请求 /hello 接口,在引入 Spring Security 之后会先经过一系列过滤器(一中请求的是 /test 接口); 在请求到达 FilterSecurityInterceptor 时,发现请求并未认证。请求被拦截下来,并

    2024年02月09日
    浏览(28)
  • 【深入浅出 Spring Security(七)】RememberMe的实现原理详讲

    先看看最简单用法的默认页面效果变化。 SecurityConfig 配置类 测试 TestController 代码 以下是给出的默认的登录页面。 观察页面源代码可以发现,比原先没配置 RememberMe 之前多了个 name 为 remember-me 的 checkbox 选项。 如果我们勾选了它并且登录成功后,当我们关闭掉当前浏览器,

    2024年02月09日
    浏览(28)
  • 【深入浅出 Spring Security(十二)】使用第三方(Github)授权登录

    (Github授权登录的具体操作在目录第三“章”) 下面是《深入浅出Spring Security》书中的一段概述: OAuth 是一个开放标准(现在所说的 OAuth 一般都是指 OAuth2,即 2.0 版本),可以理解为是一种协议,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头

    2024年02月10日
    浏览(48)
  • 【深入浅出Spring原理及实战】「源码调试分析」深入源码探索Spring底层框架的的refresh方法所出现的问题和异常

    阅读Spring官方文档,了解Spring框架的基本概念和使用方法。 下载Spring源码,可以从官网或者GitHub上获取。 阅读Spring源码的入口类,了解Spring框架的启动过程和核心组件的加载顺序。 阅读Spring源码中的注释和文档,了解每个类和方法的作用和用法。 调试Spring源码,可以通过

    2023年04月23日
    浏览(31)
  • 【深入浅出Spring Security(五)】自定义过滤器进行前后端登录认证

    在【深入浅出Spring Security(二)】Spring Security的实现原理 中小编阐述了默认加载的过滤器,里面有些过滤器有时并不能满足开发中的实际需求,这个时候就需要我们自定义过滤器,然后填入或者替换掉原先存在的过滤器。 首先阐述一下添加过滤器的四个方法(都是 HttpSecur

    2024年02月08日
    浏览(35)
  • 【深入浅出 Spring Security(四)】登录用户数据的获取,超详细的源码分析

    在【深入浅出Spring Security(一)】Spring Security的整体架构 中叙述过一个SecurityContextHolder 这个类。说在处理请求时,Spring Security 会先从 Session 中取出用户登录数据,保存到 SecurityContextHolder 中,然后在请求处理完毕后,又会拿 SecurityContextHolder 中的数据保存到 Session 中,然后再

    2024年02月07日
    浏览(33)
  • 【深入浅出 Spring Security(十三)】使用 JWT 进行前后端分离认证(附源码)

    JWT 全称 Java web Token,在此所讲述的是 JWT 用于身份认证,用服务器端生成的JWT去替代原始的Session认证,以提高安全性。 JWT本质是一个Token令牌,是由三部分组成的字符串,分别是头部(header)、载荷(payload)和签名(signature)。头部一般包含该 JWT 的基本信息,例如所使用的

    2024年02月12日
    浏览(30)
  • 【深入浅出 Spring Security(十一)】授权原理分析和持久化URL权限管理

    在 【深入浅出Spring Security(一)】Spring Security的整体架构 中小编解释过授权所用的三大组件,在此再解释说明一下(三大组件具体指:ConfigAttribute、AccessDecisionManager(决策管理器)、AccessDecisionVoter(决策投票器)) ConfigAttribute 在 Spring Security 中,用户请求一个资源(通常是

    2024年02月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包