# Spring Boot

Spring Boot is a framework for building stand-alone, production-grade Spring applications.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## This Week in Spring - September 15th, 2026

DevFeed: [This Week in Spring - September 15th, 2026](<https://devfeed.tech/articles/this-week-in-spring-september-15th-2026-26974.md>)

Original publisher: [Read original article](<https://spring.io/blog/2026/09/15/this-week-in-spring-september-15th-2026>)

Author: joshlong

Published: 2026-09-15T00:00:00Z

Content type: article

Language: en

Sources: [Spring](<https://devfeed.tech/sources/spring.md>)

Topics: [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Java](<https://devfeed.tech/topics/java.md>), [Security](<https://devfeed.tech/topics/security.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [JavaFX](<https://devfeed.tech/topics/javafx.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [batch](<https://devfeed.tech/tags/batch.md>), [boot](<https://devfeed.tech/tags/boot.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [java](<https://devfeed.tech/tags/java.md>), [learn](<https://devfeed.tech/tags/learn.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [security](<https://devfeed.tech/tags/security.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

A September 15, 2026 roundup of Spring-related developer content, covering Java memory management, Spring AI chat-memory summarization, JavaFX application security with Spring Security and OAuth 2.0, OAuth 2.1 with Spring Authorization Server, Spring and Gemini video understanding, Java AI libraries, Netflix's Java and Spring story, Spring Batch, and Spring Boot debugging.

### Source excerpt

Hi, Spring fans! Welcome to another rip-roarin' installment of This Week in Spring! I'm writing this to you from sun-kissed San Francisco, CA, sipping some coffee and watching the bay from my breakfast nook. What a wonderful day! A wonderful day in which to learn about the latest and greatest in Spring, even! Let's dive right in! I really loved this presentation by Oracle's Ron Pressler on the principles of memory management in Java More Craig Walls Spring AI goodness! Here's a nice recipe on summarizing chat memory Over the last few weeks, I've done some content on securing JavaFX applications with Spring Security and OAuth 2.0. That work has landed, and our friends at JFX-central.com have taken that video and the resulting code and transcribed the content into this lovely tutorial - check it out! I loved this post on securing modern applications with OAuth 2.1 and Spring Authorization Server This is a really cool video on understanding video with Spring and Gemini I just learned about this amazing new Java library called Quixotic.ai (what a name! LOL) that provides all sorts of cool stuff that might make your Java-based AI workloads even better. I wonder if there are amazing integration possibilities for Spring AI, too... In last week's A Bootiful Podcast, I was delighted to sit down and chat with Netflix's Paul Bakker on their Java and Spring story, scaling the system, and more. Huh! There's a new Spring Batch IntelliJ IDEA plugin, but search me for what's new! No release notes. Either way, get it while it's hot! Speaking of Spring Batch, there's a nice post here on scaling to millions of rows with Spring Batch that just dropped Speaking of Spring and IntelliJ, there's a nice article over on Baeldung on debugging Spring Boot-based workloads with the Spring debugger

## Meet Jos Roseboom

DevFeed: [Meet Jos Roseboom](<https://devfeed.tech/articles/meet-jos-roseboom-21985.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/meet-jos-roseboom/>)

Author: vladmihalcea

Published: 2026-09-11T04:23:25Z

Content type: article

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [framework](<https://devfeed.tech/tags/framework.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [interview](<https://devfeed.tech/tags/interview.md>), [jakarta-ee](<https://devfeed.tech/tags/jakarta-ee.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-tuning](<https://devfeed.tech/tags/performance-tuning.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

An interview with Jos Roseboom about JPA and Hibernate performance tuning, based on his JavaZone talk. He describes production incidents involving exhausted database connections and excessive queries caused by fetching entities and following associations.

### Source excerpt

JavaZone 2026 At the beginning of September, I participated in JavaZone for the third time and had the privilege of meeting a lot of passionate software developers willing to share their knowledge with the community. In the first conference day, I attended a very good talk about JPA performance tuning that was delivered by Jos Roseboom and since I enjoyed his talk, I proposed him to gave an interview for this blog. Therefore, in this article we have the pleasure of getting to know Jos and take opportunity of learning about Spring... Read More The post Meet Jos Roseboom appeared first on Vlad Mihalcea.

## Develop and test MCP in Postman: jhipster-mcp in action

DevFeed: [Develop and test MCP in Postman: jhipster-mcp in action](<https://devfeed.tech/articles/develop-and-test-mcp-in-postman-jhipster-mcp-in-action-12634.md>)

Original publisher: [Read original article](<https://blog.postman.com/develop-and-test-mcp-in-postman-jhipster-mcp-in-action/>)

Author: Anthony Viard

Published: 2026-08-19T16:00:00Z

Content type: article

Language: en

Sources: [Postman Blog](<https://devfeed.tech/sources/postman-blog.md>)

Topics: [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Postman](<https://devfeed.tech/topics/postman.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [React](<https://devfeed.tech/topics/react.md>), [Vue.js](<https://devfeed.tech/topics/vue.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [angular](<https://devfeed.tech/tags/angular.md>), [apache](<https://devfeed.tech/tags/apache.md>), [cli](<https://devfeed.tech/tags/cli.md>), [general](<https://devfeed.tech/tags/general.md>), [jhipster](<https://devfeed.tech/tags/jhipster.md>), [json](<https://devfeed.tech/tags/json.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [post](<https://devfeed.tech/tags/post.md>), [react](<https://devfeed.tech/tags/react.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [vue](<https://devfeed.tech/tags/vue.md>)

### AI overview

This Postman developer article demonstrates jhipster-mcp, an open-source MCP server that exposes the JHipster generator to MCP clients. It uses Postman's MCP client to test tools, prompts, and resources for generating and evolving Spring Boot applications from JDL.

### Source excerpt

Drive the jhipster-mcp server from Postman's MCP client to test tools, prompts, and resources before handing them to an AI agent. Try it today. The post Develop and test MCP in Postman: jhipster-mcp in action appeared first on Postman Blog.

## Codename One Settings Is Now a Standalone Tool

DevFeed: [Codename One Settings Is Now a Standalone Tool](<https://devfeed.tech/articles/codename-one-settings-is-now-a-standalone-tool-19530.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/standalone-codename-one-settings/>)

Author: Shai Almog

Published: 2026-07-18T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [configuration](<https://devfeed.tech/topics/configuration.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [install](<https://devfeed.tech/tags/install.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [project](<https://devfeed.tech/tags/project.md>), [tests](<https://devfeed.tech/tags/tests.md>), [themes](<https://devfeed.tech/tags/themes.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Codename One Settings has been replaced by a standalone desktop application distributed through a Codename One Maven project. It focuses on project properties, build hints, themes, and extensions while keeping project files as the source of truth.

### Source excerpt

Codename One Settings is now a focused Maven-distributed desktop tool for project identity, build hints, themes, and extensions.

## OpenTelemetry Spring Boot Starter Adds Declarative YAML Configuration in Version 2.26.0

DevFeed: [OpenTelemetry Spring Boot Starter Adds Declarative YAML Configuration in Version 2.26.0](<https://devfeed.tech/articles/the-voyage-of-a-small-environment-variable-32584.md>)

Original publisher: [Read original article](<https://opentelemetry.io/blog/2026/spring-boot-declarative-config/>)

Author: OpenTelemetry Authors; Docs CC BY

Published: 2026-07-14T07:47:36Z

Content type: article

Language: en

Sources: [Blog on OpenTelemetry](<https://devfeed.tech/sources/blog-on-opentelemetry.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [tracing](<https://devfeed.tech/topics/tracing.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [environment](<https://devfeed.tech/tags/environment.md>), [java](<https://devfeed.tech/tags/java.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [schema](<https://devfeed.tech/tags/schema.md>), [setup](<https://devfeed.tech/tags/setup.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [traces](<https://devfeed.tech/tags/traces.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

The article explains how declarative configuration in the OpenTelemetry Spring Boot starter, available from version 2.26.0, embeds the SDK's YAML schema in application.yaml. It contrasts this approach with environment-variable configuration and describes how the YAML schema can represent telemetry pipelines and options beyond the fixed environment-variable catalog.

### Source excerpt

The OpenTelemetry Spring Boot starter gained declarative-configuration support starting in version 2.26.0 -- the same YAML schema the Java agent introduced in late 2025, now embedded inside application.yaml. This post traces what one env var, OTEL_SERVICE_NAME=petclinic, does in that new world, and where the seams are. In a hurry? Jump straight to the Spring Boot starter declarative-config docs, paste your application.properties into the interactive converter, or pick your SDK setup in the Ecosystem Explorer with the Spring Boot starter target selected. Come back for the story when you have a coffee.

## Essential Tips for Gradle on Ephemeral CI Environments - Part 3

DevFeed: [Essential Tips for Gradle on Ephemeral CI Environments - Part 3](<https://devfeed.tech/articles/essential-tips-for-gradle-on-ephemeral-ci-environments-part-3-24633.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-on-ephemeral-ci-3>)

Author: Louis Jacomet

Published: 2026-07-09T04:00:00Z

Content type: tutorial

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>)

Tags: [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [build](<https://devfeed.tech/tags/build.md>), [cache](<https://devfeed.tech/tags/cache.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-image](<https://devfeed.tech/tags/docker-image.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [performance](<https://devfeed.tech/tags/performance.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

This tutorial explains how to optimize Gradle's Execution phase in ephemeral CI environments, focusing on the Gradle Build Cache and task-output reuse. It describes benchmarking a small Spring Boot project in a Docker environment and cautions that the measurements are approximate and specific to Gradle 9.5.1 and the stated test setup.

### Source excerpt

In Part 1 and Part 2, we optimized Gradle's Startup and Configuration phases on ephemeral CI. In this final part, we reach the Execution phase: the point where Gradle checks whether task outputs can be reused and, when they cannot, runs the selected tasks. This is where the Gradle Build Cache becomes the main lever. Benchmarking Performance in Ephemeral CI The methodology is unchanged from Part 1 and Part 2: each scenario builds a fresh Docker image of the Spring Boot Project with --no-cache, base images are pre-pulled, and every figure is the average of ten runs against one consistent baseline. Individual runs vary by a second or two, so read small differences as approximate rather than exact. These numbers are not intended as universal Gradle performance claims. They show the relative impact of execution-phase optimizations for one small Spring Boot project, one Gradle version, one JDK image, and one local Docker environment. Larger builds, especially multi-module builds with expensive compilation, testing, code generation, or packaging tasks, will generally see bigger gains from task-output reuse than this sample project does. NOTE: All measurements in this post are pinned to Gradle 9.5.1. If you repeat the experiment with a newer Gradle version, rebuild the prime image and update any version-specific cache paths accordingly. The baseline (no optimizations) averaged 32.3s over ten runs, in line with the ~31.5s baselines from Parts 1 and 2. Optimizations for the Execution Phase During the Execution phase, Gradle runs the task graph that was selected and ordered during configuration. For each task, Gradle decides whether work can be avoided before it executes task actions: Input and output snapshotting: Gradle fingerprints the task's declared inputs, outputs, and relevant implementation details. Reuse checks: Gradle determines whether the task is already up to date locally, or whether matching outputs can be loaded from the Build Cache. Task action execution: Gradl

## Essential Tips for Gradle on Ephemeral CI Environments - Part 2

DevFeed: [Essential Tips for Gradle on Ephemeral CI Environments - Part 2](<https://devfeed.tech/articles/essential-tips-for-gradle-on-ephemeral-ci-environments-part-2-24632.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-on-ephemeral-ci-2>)

Author: Louis Jacomet

Published: 2026-07-08T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [build-performance](<https://devfeed.tech/tags/build-performance.md>), [cache](<https://devfeed.tech/tags/cache.md>), [docker](<https://devfeed.tech/tags/docker.md>), [github](<https://devfeed.tech/tags/github.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

Part 2 examines Gradle configuration-phase performance in ephemeral CI environments, focusing on dependency and script caching and the roles of the setup-gradle GitHub Action and Develocity Universal Cache.

### Source excerpt

In Part 1, we explored foundational strategies for improving Gradle build performance in ephemeral CI environments, focusing on the Startup and Initialization phase. Now, in Part 2, we shift our focus to the Configuration phase: the work Gradle does after startup but before it executes any tasks. We'll benchmark dependency and script caching, then look at where the setup-gradle GitHub Action and Develocity's Universal Cache fit. Benchmarking Performance in Ephemeral CI The methodology is the same as in Part 1: each scenario builds a fresh Docker image of the Spring Boot Project with --no-cache, base images are pre-pulled, and every figure is the average of ten runs against one consistent baseline. Individual runs vary by a second or two, so read small differences as approximate rather than exact. These numbers are not intended as universal Gradle performance claims. They show the relative impact of configuration-phase optimizations for one small Spring Boot project, one Gradle version, one JDK image, and one local Docker environment. Larger builds, with more dependencies and more build logic, will generally see bigger gains from dependency and script caching than a small sample project does. NOTE: All measurements in this post are pinned to Gradle 9.5.1. If you repeat the experiment with a newer Gradle version, rebuild the prime image and update any version-specific cache paths accordingly. One difference from Part 1: for the Configuration phase, we prime the cache by building the complete Spring Boot Project, not the empty Prime Project. Caching configuration-phase work only means something when there are real dependencies and real build scripts to cache, so the prime image must reflect a realistic project. As in Part 1, that prime image is built once and only restored from, so the timed builds measure cache restore, not cache creation. Building the full project populates the following directories in the Gradle User Home: .gradle/ <-- Gradle User Home (default: ~/.

## Essential Tips for Gradle on Ephemeral CI Environments - Part 1

DevFeed: [Essential Tips for Gradle on Ephemeral CI Environments - Part 1](<https://devfeed.tech/articles/essential-tips-for-gradle-on-ephemeral-ci-environments-part-1-24631.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-on-ephemeral-ci-1>)

Author: Louis Jacomet

Published: 2026-07-07T04:00:00Z

Content type: tutorial

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [ci](<https://devfeed.tech/tags/ci.md>), [docker](<https://devfeed.tech/tags/docker.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article explains how to optimize Gradle builds in ephemeral CI environments, where short-lived containers and cloud-based build agents eliminate persistent state. It compares common Gradle optimizations, discusses caching and workflow adaptations, and describes benchmarking on a small Spring Boot project in a Docker-based environment.

### Source excerpt

Ephemeral CI replaces long-lived, stateful build agents with short-lived, disposable environments, typically powered by containers and cloud services like GitHub Actions or Docker, to ensure isolated, reliable, and repeatable builds. While this approach improves consistency, security, and scalability, it also eliminates persistent state, requiring new strategies for caching and setup efficiency. This post covers practical strategies to overcome those limitations and keep Gradle fast. With the right optimizations, Gradle's flexibility and tooling support ephemeral workflows well. Common Gradle Optimizations While numerous Gradle optimizations are widely recommended and beneficial in traditional CI, their effectiveness in ephemeral CI environments varies significantly. Many common optimizations rely on persistence and statefulness, making them less effective or more complex to maintain in ephemeral contexts. Here's a closer look at how these popular Gradle optimizations perform in ephemeral CI: # Optimization for Local or Traditional CI Builds Effective in Ephemeral CI? Reason 1 Enable the Build Cache ✅ Highly effective when remote caching is leveraged; local caching alone has limited utility 2 Tailor workflows (task avoidance) ✅ Helpful but requires careful planning and continuous adjustments 3 Increase Gradle's heap size ✅ Immediate benefits without significant setup overhead 4 Enable parallel execution ✅ Efficiently uses cloud resources 5 Optimize the configuration phase (lazy APIs, applying plugins selectively, etc.) ✅ Effective but requires rigorous management of configuration logic 6 Optimize dependency resolution (declarative syntax, remove dynamic versions, etc.) ✅ Helpful, though gains are often marginal in ephemeral CI 7 Re-use the Dependency Cache 🔷 Manual reuse is fiddly; the free setup-gradle action provides it on GitHub Actions, and Develocity's Artifact Cache provides it on any CI 8 Enable the Configuration Cache ✅ Increasingly enabled by default in mod

## Chainguard Libraries for Java is now GA; CVE remediation beta available for sign up

DevFeed: [Chainguard Libraries for Java is now GA; CVE remediation beta available for sign up](<https://devfeed.tech/articles/chainguard-libraries-for-java-is-now-ga-cve-remediation-beta-available-for-sign-up-12966.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguard-libraries-for-java-is-now-ga-and-includes-cve-remediation>)

Published: 2026-06-23T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard libraries](<https://devfeed.tech/topics/chainguard-libraries.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Security](<https://devfeed.tech/topics/security.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [chainguard-libraries-for-java](<https://devfeed.tech/tags/chainguard-libraries-for-java.md>), [cve](<https://devfeed.tech/tags/cve.md>), [cve-remediation](<https://devfeed.tech/tags/cve-remediation.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [java](<https://devfeed.tech/tags/java.md>), [java-packages](<https://devfeed.tech/tags/java-packages.md>), [java-spring](<https://devfeed.tech/tags/java-spring.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [provenance](<https://devfeed.tech/tags/provenance.md>), [sboms](<https://devfeed.tech/tags/sboms.md>), [scanner](<https://devfeed.tech/tags/scanner.md>), [security](<https://devfeed.tech/tags/security.md>), [zero-cve-packages](<https://devfeed.tech/tags/zero-cve-packages.md>)

### AI overview

Chainguard Libraries for Java is generally available, and its CVE remediation capability is available in beta. The article describes backported fixes for critical and high-severity CVEs across the Spring Boot ecosystem, helping teams manage risks in pinned or legacy Java dependencies while planning upgrades.

### Source excerpt

Chainguard Libraries for Java is now GA, delivering CVE-remediated dependencies with SBOMs, provenance, and scanner-recognized fixes.

## Pale Blue Spring Admin adds CRUD editing and custom UI snippets

DevFeed: [Pale Blue Spring Admin adds CRUD editing and custom UI snippets](<https://devfeed.tech/articles/pale-blue-spring-admin-now-you-can-actually-edit-stuff-and-custom-ui-snippets-38749.md>)

Original publisher: [Read original article](<https://www.paleblueapps.com/rockandnull/spring-boot-admin-crud-custom-ui/>)

Author: Mike Yerou

Published: 2026-05-14T11:57:06Z

Content type: release

Language: en

Sources: [Rock and Null](<https://devfeed.tech/sources/rock-and-null.md>)

Topics: [CRUD](<https://devfeed.tech/topics/crud.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Django Admin](<https://devfeed.tech/topics/django-admin.md>), [jpa](<https://devfeed.tech/topics/jpa.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [crud](<https://devfeed.tech/tags/crud.md>), [django-admin](<https://devfeed.tech/tags/django-admin.md>), [infra](<https://devfeed.tech/tags/infra.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The latest Pale Blue Spring Admin release adds create, update, and delete operations directly in the UI. It also introduces custom UI snippets for adding elements such as dashboard widgets and action buttons, extending the admin portal beyond its generated interface.

### Source excerpt

Read-only is great, but editing is better. The latest update to Pale Blue Spring Admin introduces full CRUD functionality and custom UI snippets, making your Spring Boot admin panel as powerful as your favorite Python tools.

## What is an Agentic Application?

DevFeed: [What is an Agentic Application?](<https://devfeed.tech/articles/what-is-an-agentic-application-22596.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/what-is-an-agentic-application-8f4f382fedc2?source=rss----60a0578f4096---4>)

Author: Aneshka Goyal

Published: 2026-05-06T04:01:01Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Amazon Bedrock](<https://devfeed.tech/topics/amazon-bedrock.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Java](<https://devfeed.tech/topics/java.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [aws](<https://devfeed.tech/tags/aws.md>), [developer](<https://devfeed.tech/tags/developer.md>), [java](<https://devfeed.tech/tags/java.md>), [llm](<https://devfeed.tech/tags/llm.md>), [maven](<https://devfeed.tech/tags/maven.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

A hands-on tutorial for building an agentic application with Spring AI. It demonstrates connecting an application to AWS Bedrock, exposing weather and latitude-longitude tools through a stateless MCP server over HTTP streaming, and combining MCP clients, memory, tools, and a system prompt.

### Source excerpt

Part 2: Using spring AI to build a simple agentic application In Part 1 we discussed about core capabilities of Spring AI that helps it position itself as a strong framework to build Agentic applications. Taking things forward from there, let's now build something to bring things into action!! Scenario We want to build an application that connects with AWS bedrock for LLM integration. Has set of tools exposed from an MCP server running on HTTP streaming protocol in STATELESS mode(MCP is also built using Spring AI). For memory we use chat memory with inbuilt InMemory repository and MessageWindowChatMemory. This application has the ability to provide weather info, some lat long info for a particular city. MCP Server Setup Maven pom for dependency management <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>mcp-server-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mcp-server-demo</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

## Fixing SQLite Database Locks in Spring Boot with Connection and Transaction Configuration

DevFeed: [Fixing SQLite Database Locks in Spring Boot with Connection and Transaction Configuration](<https://devfeed.tech/articles/how-we-fixed-sqlite-database-locks-in-spring-boot-and-got-a-5x-performance-boost-38750.md>)

Original publisher: [Read original article](<https://www.paleblueapps.com/rockandnull/spring-boot-sqlite-locking-fix/>)

Author: Anil Kumar Beesetti

Published: 2026-01-30T10:36:55Z

Content type: tutorial

Language: en

Sources: [Rock and Null](<https://devfeed.tech/sources/rock-and-null.md>)

Topics: [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [locking](<https://devfeed.tech/topics/locking.md>), [jpa](<https://devfeed.tech/topics/jpa.md>), [optimize](<https://devfeed.tech/topics/optimize.md>)

Tags: [hikaricp](<https://devfeed.tech/tags/hikaricp.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [locking](<https://devfeed.tech/tags/locking.md>), [locks](<https://devfeed.tech/tags/locks.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [performance](<https://devfeed.tech/tags/performance.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>)

### AI overview

This tutorial explains how a Spring Boot application using SQLite experienced intermittent database locks and request failures. It attributes the issue to connection pooling and lifecycle settings, then describes configuring HikariCP for a single connection, tightening connection management, enabling leak detection, disabling Open-in-View, and controlling transactions manually. In the reported k6 load test, throughput increased from 1,736 to 11,381 requests in five minutes, success rate rose from 76% to 99%, and failed requests fell from 411 to 1.

### Source excerpt

Struggling with intermittent database locks in your Spring Boot and SQLite setup? Learn the specific HikariCP and JPA configurations we used to eliminate production hangs and increase throughput by 6.5x.

## Out with the Old, In with the New: A Guide to Application Upkeep

DevFeed: [Out with the Old, In with the New: A Guide to Application Upkeep](<https://devfeed.tech/articles/out-with-the-old-in-with-the-new-a-guide-to-application-upkeep-23026.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/out-with-the-old-in-with-the-new.html>)

Author: Andres Sacco

Published: 2025-12-20T03:08:59Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [automatic](<https://devfeed.tech/tags/automatic.md>), [guide](<https://devfeed.tech/tags/guide.md>), [java](<https://devfeed.tech/tags/java.md>), [legacy-application](<https://devfeed.tech/tags/legacy-application.md>), [legacy-code](<https://devfeed.tech/tags/legacy-code.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [migration](<https://devfeed.tech/tags/migration.md>), [rewrite](<https://devfeed.tech/tags/rewrite.md>), [security](<https://devfeed.tech/tags/security.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

This guide explains why upgrading Java or Spring Boot applications involves more than changing a version number. It discusses migration challenges, legacy code, differing versions across microservices, and risks from outdated software, including security, compatibility, stability, and maintainability concerns.

### Source excerpt

Migrating an existing application to a new version of Java or a framework such as Spring Boot involves much more than simply updating a version number in a file. Each new release of a library or language brings new features, deprecations, behavioral changes, and sometimes complete API redesigns. When legacy code is involved, these upgrades [...] The post Out with the Old, In with the New: A Guide to Application Upkeep appeared first on JVM Advent.

## Getting Started with SpringAI

DevFeed: [Getting Started with SpringAI](<https://devfeed.tech/articles/getting-started-with-springai-23018.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/getting-started-with-springai.html>)

Author: Samuel Lissner

Published: 2025-12-19T03:03:39Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Java](<https://devfeed.tech/topics/java.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [apis](<https://devfeed.tech/tags/apis.md>), [claude](<https://devfeed.tech/tags/claude.md>), [guide](<https://devfeed.tech/tags/guide.md>), [java](<https://devfeed.tech/tags/java.md>), [language-models](<https://devfeed.tech/tags/language-models.md>), [rag](<https://devfeed.tech/tags/rag.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>)

### AI overview

A hands-on tutorial for building a Spring AI application that summarizes Wikipedia articles with large language models. It uses Spring Boot, Java 21, Anthropic's Claude models, Apache Tika for PDF text extraction, and Retrieval-Augmented Generation concepts.

### Source excerpt

A Hands-On Guide to Text Summarization Over the past year, the Java ecosystem has made significant strides in making Generative AI development enterprise-ready. For Spring developers, SpringAI has emerged as the go-to toolkit for seamlessly integrating enterprise data and APIs with AI models. Are you curious in developing enterprise grade AI applications with Spring AI? [...] The post Getting Started with SpringAI appeared first on JVM Advent.

## Spec-Driven Development in Practice: How AI Simplify Full-Stack Java

DevFeed: [Spec-Driven Development in Practice: How AI Simplify Full-Stack Java](<https://devfeed.tech/articles/spec-driven-development-in-practice-how-ai-simplify-full-stack-java-23030.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/spec-driven-development-in-practice-how-ai-simplify-full-stack-java.html>)

Author: Simon Martinelli

Published: 2025-12-14T03:03:46Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Spec Driven Development](<https://devfeed.tech/topics/spec-driven-development.md>), [Specifications](<https://devfeed.tech/topics/specifications.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [ai](<https://devfeed.tech/tags/ai.md>), [full-stack](<https://devfeed.tech/tags/full-stack.md>), [java](<https://devfeed.tech/tags/java.md>), [spec-driven-development](<https://devfeed.tech/tags/spec-driven-development.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

The article explains Spec-Driven Development and the AI Unified Process (AIUP) for a full-stack Java application using Spring Boot, jOOQ, and Vaadin. It presents requirements, an entity model, and system use cases as ordered specification artifacts from which AI can generate code, tests, and documentation.

### Source excerpt

AI is changing how we build software, but many teams still work as if nothing has changed. They treat code as the only reliable artifact. Everything else slowly gets outdated: AI code generation tools can make this even worse if used without structure. They produce code fast, but the process behind the code remains the [...] The post Spec-Driven Development in Practice: How AI Simplify Full-Stack Java appeared first on JVM Advent.

## How Understanding Request Flow in Spring Boot Changed the Way I Code

DevFeed: [How Understanding Request Flow in Spring Boot Changed the Way I Code](<https://devfeed.tech/articles/how-understanding-request-flow-in-spring-boot-changed-the-way-i-code-23021.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/how-understanding-request-flow-in-spring-boot-changed-the-way-i-code.html>)

Author: Mohammed

Published: 2025-12-03T02:02:20Z

Content type: article

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [backend-development](<https://devfeed.tech/topics/backend-development.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [API](<https://devfeed.tech/topics/api.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [backend](<https://devfeed.tech/tags/backend.md>), [backend-development](<https://devfeed.tech/tags/backend-development.md>), [controllers](<https://devfeed.tech/tags/controllers.md>), [di](<https://devfeed.tech/tags/di.md>), [java](<https://devfeed.tech/tags/java.md>), [java-advent](<https://devfeed.tech/tags/java-advent.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [programming](<https://devfeed.tech/tags/programming.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [springboot](<https://devfeed.tech/tags/springboot.md>)

### AI overview

This article explains how tracing a request through a Spring Boot application helped the author understand layered backend architecture. It follows the flow from Controller to Service to Repository and Database, and discusses dependency injection, inversion of control, annotations, and the roles of application layers.

### Source excerpt

When I first stepped into backend development, I believed programming was only about one thing: "If the output comes, the job is done." I bundled everything into one giant file -- controllers, logic, database access.I didn't understand why Spring insisted on layers or why DI, IoC, and annotations were so important. The project structure looked [...] The post How Understanding Request Flow in Spring Boot Changed the Way I Code appeared first on JVM Advent.

## The best way to replace the deprecated GenericGenerator

DevFeed: [The best way to replace the deprecated GenericGenerator](<https://devfeed.tech/articles/the-best-way-to-replace-the-deprecated-genericgenerator-21988.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/replace-deprecated-genericgenerator/>)

Author: vladmihalcea

Published: 2025-12-02T08:23:12Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Development](<https://devfeed.tech/topics/development.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Code](<https://devfeed.tech/topics/code.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [database-identifier](<https://devfeed.tech/tags/database-identifier.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [genericgenerator](<https://devfeed.tech/tags/genericgenerator.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [identifier](<https://devfeed.tech/tags/identifier.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [tsid](<https://devfeed.tech/tags/tsid.md>)

### AI overview

This tutorial explains how to replace the deprecated Hibernate @GenericGenerator annotation when upgrading an application to Hibernate 7. It covers custom entity identifier generators and sequence optimizers using the @IdGeneratorType meta-annotation.

### Source excerpt

Introduction In this article, I'm going to show you the best way to replace the deprecated @GenericGenerator when upgrading your application to Hibernate 7. Hibernate @GenericGenerator annotation The @GenericGenerator annotation has been available since Hibernate 3.5, as an alternative to the <generator> XML element from HBM mappings. As illustrated by the Hibernate 6.5 @GenericGenerator Javadoc, this annotation was deprecated in favor of the @IdGeneratorType meta-annotation, which we've been using before for the TSID identifier. Traditionally, there were two main use cases where you'd use the @GenericGenerator annotation: to provide a custom identifier... Read More The post The best way to replace the deprecated GenericGenerator appeared first on Vlad Mihalcea.

## Introducing Pale Blue Spring Admin: auto-generated admin UI for Spring Boot

DevFeed: [Introducing Pale Blue Spring Admin: auto-generated admin UI for Spring Boot](<https://devfeed.tech/articles/introducing-pale-blue-spring-admin-auto-generated-admin-ui-for-spring-boot-38746.md>)

Original publisher: [Read original article](<https://www.paleblueapps.com/rockandnull/pale-blue-spring-admin-django-admin-for-spring-boot/>)

Author: Mike Yerou

Published: 2025-11-14T09:54:40Z

Content type: release

Language: en

Sources: [Rock and Null](<https://devfeed.tech/sources/rock-and-null.md>)

Topics: [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Django Admin](<https://devfeed.tech/topics/django-admin.md>), [jpa](<https://devfeed.tech/topics/jpa.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [django-admin](<https://devfeed.tech/tags/django-admin.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [release](<https://devfeed.tech/tags/release.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Pale Blue announces Pale Blue Spring Admin, an open-source Kotlin library that adds a Django-inspired admin interface to Spring Boot applications. It discovers JPA entities and provides read-only browsing, search, pagination, sorting, and relationship navigation.

### Source excerpt

Pale Blue Spring Admin brings Django-style auto-generated admin power to Spring Boot. Built in Kotlin, it offers an intuitive UI for exploring your JPA entities.

## The best way to clean up test data with Spring and Hibernate

DevFeed: [The best way to clean up test data with Spring and Hibernate](<https://devfeed.tech/articles/the-best-way-to-clean-up-test-data-with-spring-and-hibernate-21982.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/clean-up-test-data-spring/>)

Author: vladmihalcea

Published: 2025-11-11T08:05:24Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Integration testing](<https://devfeed.tech/topics/integration-testing.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>)

Tags: [cleanup](<https://devfeed.tech/tags/cleanup.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [java](<https://devfeed.tech/tags/java.md>), [jpa](<https://devfeed.tech/tags/jpa.md>), [schema](<https://devfeed.tech/tags/schema.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [test-data](<https://devfeed.tech/tags/test-data.md>), [testing](<https://devfeed.tech/tags/testing.md>), [truncatemappedobjects](<https://devfeed.tech/tags/truncatemappedobjects.md>)

### AI overview

This tutorial examines how to clean up test data in Spring and Hibernate integration tests. It argues that relying on @DataJpaTest for automatic transaction rollback is not always appropriate and discusses limitations of its SQL logging, including its inability to show bind parameter values or indicate whether batching is used.

### Source excerpt

Introduction In this article, I'm going to show you the best way to clean up test data when using Spring and Hibernate. While it's very common to use the @DataJpaTest annotation when implementing integration tests, in this blog post, you will see why you are better off avoiding using this annotation. Why I don't use @DataJpaTest As explained by the manual, Spring Boot provides the @DataJpaTest annotation for Spring Data JPA integration testing. Once the @DataJpaTest annotation is added to an integration test, Spring Boot will make the following changes to the... Read More The post The best way to clean up test data with Spring and Hibernate appeared first on Vlad Mihalcea.

## Twelve years of blogging

DevFeed: [Twelve years of blogging](<https://devfeed.tech/articles/twelve-years-of-blogging-21989.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/twelve-years-of-blogging/>)

Author: vladmihalcea

Published: 2025-09-30T11:35:44Z

Content type: opinion

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Framework](<https://devfeed.tech/topics/spring-framework.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Jakarta EE](<https://devfeed.tech/topics/jakarta-ee.md>), [WordPress](<https://devfeed.tech/topics/wordpress.md>)

Tags: [anniversary](<https://devfeed.tech/tags/anniversary.md>), [article](<https://devfeed.tech/tags/article.md>), [blog](<https://devfeed.tech/tags/blog.md>), [blogging](<https://devfeed.tech/tags/blogging.md>), [jakarta-ee](<https://devfeed.tech/tags/jakarta-ee.md>), [java](<https://devfeed.tech/tags/java.md>), [software-developer](<https://devfeed.tech/tags/software-developer.md>), [spring](<https://devfeed.tech/tags/spring.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

A personal reflection marking twelve years of blogging. The author describes starting the blog while working as a software architect, developing writing experience over time, and finding inspiration in wide-ranging reading. The article also promotes Hypersistence Optimizer for detecting performance issues in JPA and Hibernate data access layers across several Java frameworks.

### Source excerpt

Twelve years later! Twelve years ago today, I decided to create this blog on WordPress.com to share whatever I was finding interesting while working as a software architect. Prior to starting this blog, I didn't have any writing experience, which you can clearly see in the first article I've ever published. However, practice makes perfect, and in time, I managed to learn how to express myself in writing, whether it was an article, a social media post, an answer on StackOverflow, or a book. Follow Your Bliss I've always loved to read.... Read More The post Twelve years of blogging appeared first on Vlad Mihalcea.

## MySQL Query Optimization with Releem

DevFeed: [MySQL Query Optimization with Releem](<https://devfeed.tech/articles/mysql-query-optimization-with-releem-21986.md>)

Original publisher: [Read original article](<https://vladmihalcea.com/mysql-query-optimization-releem/>)

Author: vladmihalcea

Published: 2025-05-12T18:46:00Z

Content type: tutorial

Language: en

Sources: [Vlad Mihalcea](<https://devfeed.tech/sources/vlad-mihalcea.md>)

Topics: [MySQL](<https://devfeed.tech/topics/mysql.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [metrics](<https://devfeed.tech/tags/metrics.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-tuning](<https://devfeed.tech/tags/performance-tuning.md>), [petclinic](<https://devfeed.tech/tags/petclinic.md>), [profile](<https://devfeed.tech/tags/profile.md>), [que](<https://devfeed.tech/tags/que.md>), [releem](<https://devfeed.tech/tags/releem.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This tutorial demonstrates how to use Releem to investigate and optimize SQL queries from a Spring application running on MySQL. It uses Spring Petclinic, a JMeter test plan, and load-related CPU and I/O metrics to identify time-consuming queries and apply optimization recommendations.

### Source excerpt

Introduction In this article, I'm going to show you how to optimize the queries executed by a Spring application running on MySQL using Releem. For a short introduction about Releem, check out this previous article, in which I explained how to set up Releem to collect metrics from your MySQL database. Spring Petclinic application The application under test is going to be the well-known Spring Petclinic that we are going to run using the MySQL profile: After starting the application, we are going to run the petclinic_test_plan.jmx JMeter test plan that is... Read More The post MySQL Query Optimization with Releem appeared first on Vlad Mihalcea.

## Simplifying JVM App Development with Heroku's Buildpack Magic

DevFeed: [Simplifying JVM App Development with Heroku's Buildpack Magic](<https://devfeed.tech/articles/simplifying-jvm-app-development-with-heroku-s-buildpack-magic-26495.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/simplifying-jvm-app-development-herokus-buildpack-magic/>)

Author: Andrew Fawcett

Published: 2025-03-24T15:00:00Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Buildpacks](<https://devfeed.tech/topics/buildpacks.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Micronaut](<https://devfeed.tech/topics/micronaut.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-key-value-store](<https://devfeed.tech/tags/heroku-key-value-store.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [java](<https://devfeed.tech/tags/java.md>), [languages](<https://devfeed.tech/tags/languages.md>), [maven](<https://devfeed.tech/tags/maven.md>), [micronaut](<https://devfeed.tech/tags/micronaut.md>), [procfile](<https://devfeed.tech/tags/procfile.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

Heroku's Java buildpack automates much of the process of deploying JVM applications. It detects languages and frameworks, obtains build tools, configures the runtime, and can provide framework-specific settings for Spring Boot, Quarkus, and Micronaut applications.

### Source excerpt

Heroku's commitment to developer productivity shines through in its powerful buildpack system. They handle the heavy lifting of building your app, letting you focus on what matters most: writing code. A prime example is the Heroku Java buildpack, a versatile tool that simplifies deploying Java applications, especially those built with popular frameworks like Spring Boot, [...] The post Simplifying JVM App Development with Heroku's Buildpack Magic appeared first on Heroku.

## Replay '25, day two: Big announcements, real-world wins, and Durable Execution

DevFeed: [Replay '25, day two: Big announcements, real-world wins, and Durable Execution](<https://devfeed.tech/articles/replay-25-day-two-big-announcements-real-world-wins-and-durable-execution-35953.md>)

Original publisher: [Read original article](<https://temporal.io/blog/replay-25-day-two>)

Author: Tim Imkin

Published: 2025-03-06T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [SDK](<https://devfeed.tech/topics/sdk.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [airflow](<https://devfeed.tech/topics/airflow.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Java](<https://devfeed.tech/topics/java.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [airflow](<https://devfeed.tech/tags/airflow.md>), [announcements](<https://devfeed.tech/tags/announcements.md>), [community](<https://devfeed.tech/tags/community.md>), [google-cloud](<https://devfeed.tech/tags/google-cloud.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [java](<https://devfeed.tech/tags/java.md>), [migration](<https://devfeed.tech/tags/migration.md>), [observability](<https://devfeed.tech/tags/observability.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [real-world](<https://devfeed.tech/tags/real-world.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

Day two of Replay '25 covered Temporal product announcements, including a pre-release Ruby SDK, Nexus general availability, namespace replication, worker versioning APIs, migration tooling, Temporal Cloud on Google Cloud, and new security and operations tools. The article also reports case studies and technical sessions on workflow orchestration, self-hosting, Spring Boot integration, observability, scaling, and testing.

### Source excerpt

Catch up on day two of Replay '25 in London, featuring big announcements from Temporal, real-world success stories across telecom, finance, and technology sectors, and practical insights into durable system execution.

## Using Renovate to update build JDK

DevFeed: [Using Renovate to update build JDK](<https://devfeed.tech/articles/using-renovate-to-update-build-jdk-20982.md>)

Original publisher: [Read original article](<https://jakewharton.com/using-renovate-to-update-build-jdk/>)

Published: 2025-01-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Development](<https://devfeed.tech/topics/development.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [toolchains](<https://devfeed.tech/topics/toolchains.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [ci](<https://devfeed.tech/tags/ci.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [json](<https://devfeed.tech/tags/json.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

This article explains how to use Renovate to keep the JDK used by a GitHub Actions CI build updated automatically. It moves the Java version into a .github/.java-version file, configures setup-java to read that file, and adds a custom regex manager in renovate.json to update the file. The approach allows local development with the latest JDK while preserving compatibility with older Java versions for targeting and testing.

### Source excerpt

You want to be using the latest JDK for development. Don't use Gradle toolchains, they'll needlessly force you to use old JDKs. You can still target and test on old JVM versions but develop with the latest and greatest. Java and the JDK are literally built for this. Locally this hasn't been a problem. Homebrew (or your favorite equivalent) will keep your default JDK at the latest. Keeping my GitHub actions up-to-date, however, frequently slips my mind. I find projects using 19 or 20 simply because I haven't touched the CI build in the two years since 19 or 20 was the latest. We're already using Renovate to keep dependencies up to date. With a little extra programming in JSON (wince) we can have the JDK version updated to latest as well. First, migrate the existing build JDK version in your GitHub Action to a .github/.java-version file1. 21 Next, change the setup-java action to use this file rather than a hard-coded version. - uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: 21 + java-version-file: .github/.java-version Finally, in your renovate.json52, add a custom manager to update this file3. ignorePresets: [ // Ensure we get the latest version and are not pinned to old versions. 'workarounds:javaLTSVersions', ], customManagers: [ // Update .java-version file with the latest JDK version. { customType: 'regex', fileMatch: [ '\\.java-version$', ], matchStrings: [ '(?<currentValue>.*)\\n', ], datasourceTemplate: 'java-version', depNameTemplate: 'java', // Only write the major version. extractVersionTemplate: '^(?<version>\\d+)', }, ], Commit, push, and wait for Renovate to send you a PR4. Now your CI build automatically tracks the latest JDK. I'm putting the .java-version file into the .github/ folder because I don't want to force this version on people using jenv or the like. The whole point of this setup is you can build with any version of Java newer than our very, very old baseline of Java 8 (although things like Gradle have a higher minimum

[Next page](<https://devfeed.tech/topics/spring-boot.md?cursor=WyIyMDI1LTAxLTA4VDAwOjAwOjAwKzAwOjAwIiwgIjk3NDM2Y2M1LTcwYTUtNGM3YS1hNDAyLWEwMjNkZjQ0YTM0YyJd>)