All Stories
Spring 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/master/spring-localdatetime-epoch
In spring boot, Apr 04, 2022spring缓存自定义resolver
本文介绍spring中自定义缓存resolver,通过自定义resolver,可以在spring的cache注解中增加附加处理。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-redis-resolver
In spring boot, Mar 13, 2022spring使用kafka的三种方式(listener、container、stream)
本文介绍spring中使用Kafka的三种方式,其中container方式最灵活,但是开发相对较复杂,stream方式使用最简便,listener方式由于提供的最早,使用的较普遍。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-kafka
In spring boot, Oct 31, 2021springboot集成groovy脚本
在我们的应用中引入脚本能力,可以很好的提升灵活性,我们的核心开发工作可以集中在核心平台能力的开发上,具体场景的功能可以通过脚本来实现,例如jenkins就可以通过groovy脚本来编写pipeline,可以很灵活的定制构建过程。spring本身提供了groovy集成的机制,分为两种方式,一种是用groovy开发程序,跟用java开发类似,需要经过编译。一种是将gr...
In spring boot, May 05, 2021springboot单元测试技术
整个软件交付过程中,单元测试阶段是一个能够最早发现问题,并且可以重复回归问题的阶段,在单元测试阶段做的测试越充分,软件质量就越能得到保证。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-unit-test
In spring boot, Apr 18, 2021spring自带线程池使用不当导致的死锁问题
Spring自带线程池使用很方便,不过在相对复杂的并发编程场景中,使用时还是需要根据使用场景仔细考虑配置,否则可能会遇到本文中提及的坑。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-taskexecutor-block
In spring boot, Jan 10, 2021spring打印http接口请求和响应
在程序日志中打印出接口请求和响应的内容是一个基本的技术需求。如果在每个接口中实现请求响应的日志打印,程序编写会很繁琐,我们可以利用spring提供的机制,集中处理接口请求响应的日志打印。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-rest-log-request-re...
In spring boot, Nov 22, 2020spring动态数据源
在实际的业务场景中,我们经常会遇到需要动态配置数据源的情况,只需要修改配置,就能增加新的数据源的接入,而不需要修改程序代码,通过动态数据源技术可以实现这个目标。具体的代码参照 示例项目 https://github.com/qihaiyan/springcamp/tree/master/spring-dynamic-datasource
In spring boot, Sep 16, 2020