<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Spring on Neat Guy Coding</title><link>https://neatguycoding.com/categories/spring/</link><description>Recent content in Spring on Neat Guy Coding</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 NeatGuyCoding</copyright><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://neatguycoding.com/categories/spring/index.xml" rel="self" type="application/rss+xml"/><item><title>Agentic AI in the Java Ecosystem: How Three Frameworks Clarify Orchestration Differences Through One Use Case</title><link>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-comparing-agentic-ai-frameworks-for-java-by-timo-salm-sandra-ahlgrimm-sp/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-comparing-agentic-ai-frameworks-for-java-by-timo-salm-sandra-ahlgrimm-sp/</guid><description>Agentic AI in the Java Ecosystem: How Three Frameworks Clarify Orchestration Differences Through One Use Case</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-comparing-agentic-ai-frameworks-for-java-by-timo-salm-sandra-ahlgrimm-sp/cover.png"/></item><item><title>From REST to GraphQL: Contracts, Resolvers, and Real-Time Push on the Spring Stack</title><link>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-spring-time-from-rest-to-graphql-by-frederieke-scheper-peter-eijgermans/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-spring-time-from-rest-to-graphql-by-frederieke-scheper-peter-eijgermans/</guid><description>From REST to GraphQL: Contracts, Resolvers, and Real-Time Push on the Spring Stack</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-spring-time-from-rest-to-graphql-by-frederieke-scheper-peter-eijgermans/cover.png"/></item><item><title>JVM and Spring Boot Observability: How the Three Signals Actually Connect</title><link>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/</guid><description>JVM and Spring Boot Observability: How the Three Signals Actually Connect</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/cover.png"/></item><item><title>Spring for Apache Kafka 4: Migration, Share Groups, and the New Consumer Protocol</title><link>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-what-s-new-in-spring-for-apache-kafka-4-by-tim-van-baarsen-spring-io-202/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/2026-05-18-spring-io-2026-what-s-new-in-spring-for-apache-kafka-4-by-tim-van-baarsen-spring-io-202/</guid><description>Spring for Apache Kafka 4: migration from 3.x, KIP-932 Share Groups, KIP-848 consumer rebalance, OpenRewrite, Jackson 3, and KRaft testing.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-what-s-new-in-spring-for-apache-kafka-4-by-tim-van-baarsen-spring-io-202/cover.png"/></item><item><title>AI Coding Agents on Spring Projects: Live Pipelines, Verifiable Loops, and Context Governance</title><link>https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/</guid><description>For engineers already shipping services on the JVM and web stacks, this article starts from a typical Spring Boot + Kotlin real-time interactive application, traces the data path from database signals through reactive SSE to the browser, and breaks human–agent collaboration into three verifiable layers: compile-and-test closure, versioned project memory (CLAUDE.md, rules, Skills), and Hooks plus MCP on the tool-call path. The second half covers gaps in tests and state machines caused by spec-less iteration, how structured clarification (Interview) writes navigation and security decisions into the specification, and how cross-cutting steps can be silently dropped in long conversations—with ideas for segmented execution.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/claude-code-for-spring-developers-by-thomas-schilling-spring-io-2026/cover.png"/></item><item><title>Gradually Adopting Spring Boot for Legacy Servlet Apps: Build, Auto-Configuration, and Dual WAR Modes</title><link>https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/</guid><description>Before a large-scale Spring Boot migration, establish repeatable integration verification and a controlled dependency baseline; then advance in layers—Starter, auto-configuration troubleshooting, Spring context inside an external container, transitional Holder, beanification, Servlet annotation migration, and executable WAR. The article is organized by dependency and runtime layers, contrasts demo-style bootstrap paths with the reference manual’s recommended path, and where official docs do not spell out behavior (for example process lifecycle when only a non-web context starts), leaves engineering-level uncertainty explicit.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/how-to-migrate-the-legacy-project-to-spring-boot-by-sergei-chernov-spring-io-2/cover.png"/></item><item><title>Spring Boot 4 Stack Overview: Starter Granularity, MVC Version Negotiation, and Security Evolution</title><link>https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/</guid><description>With Spring Boot 4 and Spring Framework 7, dependencies split into finer starters by capability; outbound HTTP clients can be isolated from server-side MVC. The same codebase can enable built-in API version negotiation in Spring MVC alongside Spring Data JDBC and &lt;code>RestClient&lt;/code> / declarative &lt;code>@HttpExchange&lt;/code> clients. Spring Security 7 emphasizes composable &lt;code>Customizer&amp;lt;HttpSecurity&amp;gt;&lt;/code>, one-time token login, WebAuthn, and annotation-driven multi-factor authentication.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/bootiful-spring-boot-4-by-josh-long-spring-io-2026/cover.png"/></item><item><title>Supercharging Spring Boot Tests with Kotlin Expressiveness: Assertions, Fixtures, and Reactive Boundaries</title><link>https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/</guid><description>Spring Boot and Kotlin interoperate maturely on the JVM; teams often introduce Kotlin first in &lt;code>src/test&lt;/code>, applying extension functions, default parameters, type-safe DSLs, and assertion styles such as Kotest in integration tests and &lt;code>MockMvc&lt;/code> scenarios to cut boilerplate and tighten failure messages. Meanwhile, Java builders, overloaded static helpers, and Project Reactor’s &lt;code>StepVerifier&lt;/code> each carry their own cognitive cost; the article organizes common motivations by dependency layer, alignable public APIs, and semantic boundaries to watch (e.g. JVM type erasure, whether reactive verification truly completes subscription).</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/supercharge-spring-boot-tests-with-kotlin-dsl-power-by-urs-peter-spring-io-202/cover.png"/></item><item><title>WebAssembly as an embedding layer for the JVM ecosystem: models, runtimes, and engineering leverage</title><link>https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</guid><description>WebAssembly is not only compact bytecode in the spec—it is an execution model that pins guest modules to host boundaries. Running Wasm on the JVM forces trade-offs between attaching native runtimes versus pure bytecode hosting for distribution, observability, and fault isolation; Chicory, QuickJS4J, OPA Wasm, protobuf4j, Lumis4j, and related stacks illustrate one idea from many angles—wrapping existing C/Rust/JS assets in versioned artifacts exposed through Java APIs to Spring Gateway, build plugins, or CLIs.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/cover.png"/></item><item><title>Configuring Spring Data Redis with Lettuce for Effective Pipeline Operations</title><link>https://neatguycoding.com/posts/spring-data-redis-pipeline/</link><pubDate>Wed, 05 Jan 2022 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/posts/spring-data-redis-pipeline/</guid><description>A comprehensive guide on how to properly configure Spring Data Redis with Lettuce to enable pipeline functionality. Learn about connection sharing, AutoFlushCommands, and PipeliningFlushPolicy configurations to optimize your Redis batch operations and reduce network round-trip time.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/spring-data-redis-pipeline/featured.jpg"/></item></channel></rss>