Coding Steve's Blog
RSS FeedI'm a senior software developer with about 10 years of experience doing devops and development work. This is my blog where I write posts I wish I had found online myself.
I also write on my substack, which is a little less technical and sometimes a bit more personal. You can find that at https://substack.com/@stevenpg1
Quick Reference Posts
Featured
Fixing Page<T> Deserialization in Spring Boot 4 with Jackson 3
Published: at 12:00 PMSpring Boot 4's Jackson 3 upgrade silently breaks Page<T> deserialization for REST clients. Here's why it happens and the one-dependency fix.
Stop Guessing Your GraalVM Native Image Metadata
Published: at 12:00 PMHow to use the native-image tracing agent with Testcontainers integration tests to automatically generate accurate GraalVM native image metadata — and how to iterate when new reflection errors appear.
GraalVM Native Image Reflect Config Demystified
Updated: at 12:00 PMThis post digs into the native-image configurations, specifically the reflect-config.json!.
GraalVM Native Spring Boot vs Go — Build, Boot, and Benchmark
Published: at 12:00 PMA head-to-head comparison of GraalVM native Spring Boot 4 and Go, build time, startup time, and runtime throughput on a real HTTP + Kafka workload.
The Ultimate Guide to Spring Boot 4 Migration
Published: at 12:00 PMA comprehensive, practical guide to migrating from Spring Boot 3.x to 4.0 — covering Gradle 9, Jackson 3, starter renames, testing changes, and everything in between.
Guide to Migrating From Retired Ingress Nginx
Published: at 12:00 PMA comprehensive guide to migrating from the retiring ingress-nginx controller to the Kubernetes Gateway API, covering implementation options like Traefik, NGINX Gateway Fabric, and Envoy Gateway.
UUID4 Shouldn't Be Your Primary Key
Published: at 12:00 PMA comparison of UUID4, UUID7, TSID, and sequential IDs for database primary keys with practical PostgreSQL 18 examples and Spring Boot integration.
Project Leyden vs GraalVM Native Image - A Complete Guide
Published: at 12:00 PMA comprehensive comparison of Project Leyden and GraalVM Native Image for Java developers deciding how to optimize startup time and memory footprint.
The Ultimate Guide to Spring Web Clients with OAuth2
Published: at 12:00 PMA comprehensive guide to Spring's HTTP clients - RestClient, WebClient, and declarative interfaces - with complete OAuth2 integration patterns.
The Ultimate Guide to Spring Cloud Streams
Published: at 12:00 PMA comprehensive guide covering every aspect of Spring Cloud Streams - from functional programming models to multiple binders, error handling, and beyond.
Why you should use Instancio in 2026
Published: at 05:00 AMAn introduction to Instancio and why it's the best testing library you're not using yet
Spring Boot 4 - What is JSpecify?
Published: at 12:00 PMAn article walking through JSpecify support in Spring Boot 4.
JLink - Java Runtime Optimization Reference Guide
Published: at 12:00 PMComplete reference guide for using JLink to create optimized Java runtime images and reduce application size by 60%.
Hibernate 6.6 Breaking Changes - StaleObjectStateException
Published: at 12:00 PMSpring Boot's update to Hibernate 6.6 brings with it a breaking change that could silently cause issues in projects using it.
Spring Cloud Stream's Record Recoverable Processor
Published: at 12:00 PMAn example using the new RecordRecoverableProcessor class in Spring Cloud Streams for highly configurable error handling.
Easy Spring Rest Client w/ OAuth2
Published: at 12:00 PMUsing the new Spring RestClient with newly supported OAuth2 capabilities!
Logging Request Body with Spring WebClient
Published: at 12:00 PMAn article describing the latest way to log spring web client requests and responses using Logbook.
Converting Spring Boot 2 to Spring Boot 3 Native Image w/ GraalVM
Published: at 12:00 PMA walkthrough of updating a Spring Boot 2 application to Spring 3 running on GraalVM as a native application.
Recent Posts
Casual Machine Performance Test
Published: at 12:00 PMJust a fun little comparison of a group of machines and how they handle Java and GraalVM native images.
Spring Boot 4 and Logbook Now Work Together
Published: at 12:00 PMLogbook 4.x now supports Spring Boot 4 and Jackson 3. Here's how to upgrade.
Part 6: Vibe Coding for Non-Coders
Published: at 12:00 PMAn introduction to vibe coding, a method for creating software without traditional coding skills.
Writing an Instancio Extension Library
Published: at 05:00 AMCreating an Instancio Extension for Testing Java Applications
Part 5: Vibe Coding for Non-Coders
Published: at 12:00 PMAn introduction to vibe coding, a method for creating software without traditional coding skills.
Spring Boot 4 and Logbook: ClassNotFoundException
Published: at 12:00 PMAttempting to use Logbook with Spring Boot 4 (broken on arrival)