Skip to main content

Boot

Supercharging Spring Boot Tests with Kotlin Expressiveness: Assertions, Fixtures, and Reactive Boundaries

Supercharging Spring Boot Tests with Kotlin Expressiveness: Assertions, Fixtures, and Reactive Boundaries

·1833 words·9 mins
Spring Boot and Kotlin interoperate maturely on the JVM; teams often introduce Kotlin first in src/test, applying extension functions, default parameters, type-safe DSLs, and assertion styles such as Kotest in integration tests and MockMvc scenarios to cut boilerplate and tighten failure messages. Meanwhile, Java builders, overloaded static helpers, and Project Reactor’s StepVerifier 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).
Spring Boot 4 Stack Overview: Starter Granularity, MVC Version Negotiation, and Security Evolution

Spring Boot 4 Stack Overview: Starter Granularity, MVC Version Negotiation, and Security Evolution

·1854 words·9 mins
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 RestClient / declarative @HttpExchange clients. Spring Security 7 emphasizes composable Customizer<HttpSecurity>, one-time token login, WebAuthn, and annotation-driven multi-factor authentication.
Gradually Adopting Spring Boot for Legacy Servlet Apps: Build, Auto-Configuration, and Dual WAR Modes

Gradually Adopting Spring Boot for Legacy Servlet Apps: Build, Auto-Configuration, and Dual WAR Modes

·2089 words·10 mins
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.