首页 > 其他分享 >Spring Boot 2.6.0 发布,一大波新特性,禁止了循环依赖,还有哪些更新

Spring Boot 2.6.0 发布,一大波新特性,禁止了循环依赖,还有哪些更新

时间:2023-10-12 12:02:16浏览次数:36  
标签:redis Spring Boot 波新 spring data 连接池


1、默认禁止了循环依赖

循环依赖大家都知道,也被折磨过,这下2.6.0的版本默认禁止了循环依赖,如果程序中出现循环依赖就会报错。

当然并没有一锤子打死,也提供了开启允许循环依赖的配置,只需要在配置文件中开启即可:

spring:
  main:
    allow-circular-references: true

2、支持自定义脱敏规则

Spring Boot 现在可以清理 /env 和 /configprops 端点中存在的敏感值。

自定义SanitizingFunction类型的Bean即可实现。

@Bean
public SanitizingFunction mobileSanitizingFunction() {
    return data -> {
  PropertySource<?> propertySource = data.getPropertySource();
        if (propertySource.getName().contains("redis.properties")) {
            if (data.getKey().equals("redis.mobile")) {
                return data.withValue(SANITIZED_VALUE);
            }
        }
        return data;
    };
}

3、Redis自动开启连接池

这个版本之前Redis连接池需要开发主动开启,但是这个版本默认是开启的。

如果需要关闭一样是提供了配置,如下:

1、jedis连接池关闭:

spring.redis.jedis.pool.enabled = false

2、lettuce连接池关闭:

spring.redis.lettuce.pool.enabled = false

4、响应式应用服务器会话属性

响应式应用服务器支持的会话属性已在此版本中扩展。

以前是在 spring.webflux.session下,现在在 server.reactive.session 下,并且提供与 servlet 版本相同的属性。

5、Maven构建信息属性排除

现在可以从 Spring Boot Maven 或 Gradle 插件生成的 build-info.properties 文件中排除特定属性。

比如,排除 Maven 的 version 属性:

<configuration> 
    <excludeInfoProperties>  
        <excludeInfoProperty>version</excludeInfoProperty> 
    </excludeInfoProperties>
</configuration>

6、支持使用WebTestClient来测试Spring MVC

开发人员可以使用 WebTestClient 在模拟环境中测试程序,只需要在Mock环境中使用 @AutoConfigureMockMvc注释,就可以轻松注入 WebTestClient。,省去编写测试程序。

7、支持 Log4j2 复合配置

现在支持 Log4j2 的复合配置,可以通过 logging.log4j2.config.override 参数来指定覆盖主日志配置文件的其他日志配置文件。

8、总结

以上陈某只是总结了比较重要的几点,这个版本变动还是有些大的,具体细节可以看官方文档:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.6-Release-Notes

PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦。

标签:redis,Spring,Boot,波新,spring,data,连接池
From: https://blog.51cto.com/zhongmayisheng/7825586

相关文章

  • SpringBoot + SpringBatch + Quartz整合定时批量任务
    1、引言最近一周,被借调到其他部门,赶一个紧急需求,需求内容如下:PC网页触发一条设备升级记录(下图),后台要定时批量设备更新。这里定时要用到Quartz,批量数据处理要用到SpringBatch,二者结合,可以完成该需求。由于之前,没有用过SpringBatch,于是上网查了下资料,发现可参考的不是很多,于是只能去......
  • 忽视日志吃大亏,手把手教你玩转 SpringBoot 日志
    一、日志重要吗程序中的日志重要吗?在回答这个问题前,笔者先说个事例:❝笔者印象尤深的就是去年某个同事,收到了客户反馈的紧急bug。尽管申请到了日志文件,但因为很多关键步骤没有打印日志,导致排查进度很慢,数个小时都没能排查到问题,也无法给出解决对策。导致了客户程序一直阻断,最......
  • 【Spring】BeanPostProcessor后置处理器
    BeanPostProcessor后置处理器可以在Bean初始化前后做一些事情,注意这里是bean的初始化,不是实例化,BeanPostProcessor是一个接口,里面提供了两个方法,分别为postProcessBeforeInitialization(初始化之前)和postProcessAfterInitialization(初始化之后),在方法入参中有两个参数,一个bean对象,一......
  • Spring MVC 与 Spring Webflux 性能测试,谁更强?
    如果你已经使用Spring一段时间或者是编程初学者,你一定听说过使用响应式编程比传统的线程池风格更好。自Spring诞生以来,开发者创建Java企业应用程序就变得更加容易。它提供了在企业环境中使用Java语言所需的一切,支持Groovy和Kotlin作为JVM上的替代语言,并且可以根据......
  • Sring boot项目maven常用配置
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/......
  • Spring Cloud 2023 新特性 同步网关
    网关不支持传统Servlet容器SpringCloudGateway需要运行在提供的Netty运行时。它不能在传统的Servlet容器中工作,也不能在构建为WAR时工作。WebFlux使用了异步非阻塞的编程模型,相较于传统的MVCServlet需要理解和适应新的编程范式和响应式编程概念,因此学习曲线可能......
  • Spring Boot 日期格式化
    我们先了解下,为什么需要配置日期格式化?通常情况下,发起一个Http请求,SpringBoot会根据请求路径映射到指定Controller上的某个方法的参数上,接着,Spring会自动进行类型转换。对于日期类型的参数,Spring默认是没有配置如何将字符串转换成日期类型的未配置日期格式化会如何?我......
  • spring-mvc 请求流程学习
    参考:01、基础入门-SpringBoot2课程介绍_哔哩哔哩_bilibili请求进入HttpServlet的doGet方法然后通过实现类org.springframework.web.servlet.FrameworkServlet#doGet()调用org.springframework.web.servlet.FrameworkServlet#processRequest----》org.springframework.web.ser......
  • SpringBean生命周期
    SpringBean生命周期读源码小方法:先把所有代码块折叠,看整体,再逐步进入局部,忽略异常处理。写简单程序打断点调试。本文主要ref结论生命周期主要的扩展点:实例化(doGetBean()->createBeanInstance()),注入(populate),初始化(initializeBean),销毁。一般processor都是在这些点前后......
  • BootStrapt iCheck表单美化插件使用方法
    一、特色:1、在不同浏览器(包括ie6+)和设备上都有相同的表现—包括桌面和移动设备2、支持触摸设备—iOS、Android、BlackBerry、WindowsPhone等系统4、方便定制—用HTML和CSS即可为其设置样式(多套皮肤)5、体积小巧—gzip压缩后只有1kb6、25种参数用来......