All Stories
Spring Boot 3.2 新特性之 JdbcClient
SpringBoot 3.2引入了新的 JdbcClient 用于数据库操作,JdbcClient对JdbcTemplate进行了封装,采用了 fluent API 的风格,可以进行链式调用。
In spring boot, Nov 26, 2023Spring Data Envers 支持有条件变动纪录的保存和查询
数据审计是业务系统的一个基本能力,需要系统能够将关键数据的变动纪录都保存下来,并支持变动纪录的查询。
In spring boot, Oct 15, 2023Spring RestTempate 打印请求和响应内容日志
系统中经常需要调用第三方接口实现业务功能,为了方便调试和定位问题,我们通常需要将接口调用参数和返回结果打印到日志文件中。在Spring项目中一般会用RestTemplate来调用第三方接口。通过在RestTemplate调用过程中统一打印日志,可以保持代码的整洁,也可以统一日志格式,比在业务逻辑中到处打印接口调用日志要方便的多。
In spring boot, May 03, 2023简易规则引擎 easy-rules
合理的使用规则引擎可以极大的减少代码复杂度,提升代码可维护性。业界知名的开源规则引擎有Drools,功能丰富,但也比较庞大。在一些简单的场景中,我们只需要简易的规则引擎就能满足要求。本文介绍一个小巧的规则引擎 easy-rules,作为一个lib库提供,支持spring的SPEL表达式,可以很好的集成在spring项目中。
In spring boot, Mar 26, 2023SpringCloudGateway 动态转发后端服务
API网关的核心功能是统一流量入口,实现路由转发,SpringCloudGateway是API网关开发的技术之一,此外比较流行的还有Kong和ApiSix,这2个都是基于OpenResty技术栈。简单的路由转发可以通过SpringCloudGateway的配置文件实现,在一些业务场景种,会需要动态替换路由配置中的后端服务地址,单纯靠配置文件无法满足这种需求。本文介...
In spring boot, Feb 19, 2023Spring Boot 3的AOT(GraalVM Native Image)应用开发
GraalVM Native Images是一个利用AOT(Ahead-of-Time)技术把java程序直接编译成可执行程序的编译工具,编译出来的程序在运行时不再依赖JRE,同时启动速度快,资源消耗低,这对传统java程序来说都是极大的优势。同时云原生应用来说,GraalVM Native Images编译生成的程序体积很小,非常适合云原生环境,目前由于传统ja...
In spring boot, Nov 26, 2022ElasticSearch新版JavaClient使用简介
ElasticSearch在7.17版本之前使用的java客户端是Java REST Client,但是从7.17版本开始,官方将Java REST Client标记为弃用(deprecated),推荐使用新版Java Client。本文介绍新版ElasticSearch Java Client的基本用法。具体的代码参照 示例项目 https://github.c...
In spring boot, Apr 17, 2022spring-rest接口LocalDateTime转时间戳
本文介绍spring-rest接口中的LocalDateTime日期类型转时间戳的方法。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/main/spring-localdatetime-epoch
In spring boot, Apr 04, 2022spring缓存自定义resolver
本文介绍spring中自定义缓存resolver,通过自定义resolver,可以在spring的cache注解中增加附加处理。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/main/spring-redis-resolver
In spring boot, Mar 13, 2022spring使用kafka的三种方式(listener、container、stream)
本文介绍spring中使用Kafka的三种方式,其中container方式最灵活,但是开发相对较复杂,stream方式使用最简便,listener方式由于提供的最早,使用的较普遍。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/main/spring-kafka
In spring boot, Oct 31, 2021