Hi, Spring fans! And welcome to yet another installment of This Month in Spring! As usual, this is your one-stop shop for all things Spring, and I’m happy to see you again! It’s been quite a flurry of fun and fancy since we last spoke. I’ve been in Manheim, Waldorf, Frankfurt, and Heidelberg, Germany. I was in Thessaloniki, Greece. I was in Dubai, UAE. I was Amsterdam, the Netherlands. I was in Antwerp, Belgium. What a rush! I’m back in Frankfurt, Germany, this time to keynote the amazing Vaadin Create conference here, tomorrow. It’s going to be a ton of fun and I can’t wait! And then, after that, I round off my month long odyssey at JFall, back in Amsterdam, Netherlands, also speaking at the Utrecht Java User Group there witht he amazing Dr. Venkat Subramaniam. It’s sure to be a ton of fun and I hope you’ll join us at both events!
My friends, Halloween is almost upon us and I already have my costume picked out: I’m going as a PHP program! What’re you going as?
We’ve got a ton of stuff to review from the last month or so, so let’s dive right into it!
- Another banger from Spring AI teammate and community member Thomas Vitale called: Leverage the Power of 45k, free, Hugging Face models with Spring AI and Ollama
- Spring for Apache Pulsar 1.2.0-RC1 is now available
- Spring for Apache Pulsar 1.0.11 and 1.1.5 are now available
- Spring Security 6.4.0-RC1 is available now
- Spring Security 6.3.4, 6.2.7 and 5.8.15 are available now
- Spring REST Docs 3.0.2 is now available
- Spring Data 2024.1.0 goes RC1
- Spring Data 2024.0.5 and 2023.1.11 released
- Spring Tools 4.26.0 released
- Spring Framework CVE-2024-38819 and CVE-2024-38820 published
- Spring Framework 6.2.0-RC2 available now
- Spring Framework 6.1.14 Available Now
- In this installment of A Bootiful Podcast, I talked to Oracle Developer Advocate Andres Aalmiray
- Nicolas Frankel wrote an amazing article: Vaadin, the battery-included server-side AJAX framework.
- Nice find by community legend Maciej Walkowiak to help those who struggle with the concepts: What Are Domain-Driven Design Aggregates?
- our friend Siva, over at Jetbrains, updated his Spring Modulith example application, which now incorporates Thymeleaf and HTMX
- Nice! IntelliJ IDEA has even better GraalVM native image debugging technology
- Also, IntelliJ IDEA now features derived method generation for Spring Data repositories, which I love to see.
- Speaking of both derived methods and my friend Siva, over at Jetbrains, he also put together a nice video looking at Spring Data JPA derived query methods
- Stephen Janssen, founder of the Devoxx conference series, has put together a nice Spring Boot starter that lets you run
Llama3.java
, in a Spring Boot context. Nice! - Sergi Almar, organizer and founder of the amazing Barcelona-based Spring I/O conference, has another great post as well looking at how to create an easy RAG system with Spring AI
- Thomas Wuerthinger points to a nice German-languge article showcasing the performance of the GraalVM JIT compiler (not even native images)
- I hope you won’t mind a bit of a meta post, but I was intereviewed, along with some truly awesome folks, at Devoxx on how to do developer relations, which in theory is what I do. You might find it interesting. Or not. Good thing there are other things to read in this roundup!
- Spring AI 1.0.0. M3 has been released
- In this installment of A Bootiful Podcast, I talk to New York Java SIG chair and founder Frank Greco about community, AI, and more
- Spring Cloud 2024.0.0.-M2 (aka Moorgate) has been released
- Spring Batch 5.2.0 M2 is available now
- Oded Shopen, friend of Spring, has updated the distributed microservices implementation of Petclinic to feature a Spring Ai assistant
- Spring Framework committer Sebastien Deleuze was part of this Devoxx Belgium talk looking at Project Leyden, along with Per Minborg, and it’s quite amazing what’s possible
- Have you checked out the Wiremock Spring Boot integration?
- want to follow my advice and never use field injection? Spring Tools 4 – our Eclipse and Visual Studio Code integrations – has a built-in validation and automatic quick fix for you.
- InfoWorld has a nice writeup of Spring AI
- want to see how you, in your Spring Boot starters, can better communicate what a developer might do if they’re “holding it wrong”? Check out the Vaadin team’s first new failure analyzer. Failure analyzers are a mechanism in Spring Boot to detect and report detailed errors and possibly even suggest paths forward. Nice!
- Dan Vega has a nice example looking at how to do Spring AI streaming in a chat box scenario.
- I thought this was a kind of interesting tool from Spring community member Wim Deblauwe: a CLI to make generating a new Spring Boot and Thymeleaf application as trivial as possible.
- In Spring Framework 6.2, you’ll be able to use
@MockitoBean
and@TestBean
in AOT mode on the JVM and within a GraalVM native image! - From Spring Cloud Data Flow 2.11.x to 3.0
- Supercharging your AI Applications with Spring AI Advisors
mvn clean install
ormvn verify
- the new informational JEP: 14
- authoring webcomponents in a Spring Boot Thymeleaf project
- “…After evaluating various options, we have decided to tentatively migrate Spring Framework 7 to JSpecify annotations and deprecate Spring null-safety annotations” – woohoo!
- Did we mention that JTE is on the Spring Initializr?
- What is this blasphemy? Who would want to change the Spring Boot banner? – this article is an example of what never to do!
- I love this video looking at the newly supported JTE templating library in Spring Boot
- MongoDB has a nice page on using Spring Boot and MongoDB together
- Spring Framework lead Juergen Hoeller looks at the road ahead, to Spring Framework 6.2 and Spring Framework 7.0
- In this first installment, Oded Shopin looks at integrating Spring AI into the famous Spring Petclinic application
- Oded Shopin continues his effort in this second part
- Spring director Michael Minella looks at the extension of Spring Boot 2.7’s support timeline
- In this installment of the podcast, I talk to Oracle Java Developer Advocate Billy Korando, looking at Java 23, Structured Concurrency, and more
- Want to be a good public speaker? Check out this post that relays some of my ideas posted to a private mailing list.
- JTE is on the Spring Initializr
- new feature in Spring Tools!
- Reload SSL certificates from HashiCorp Vault for Spring Boot
- Huge thanks to Sébastien Deleuze for finding this amazing demonstration from Dr. Fabio Niephaus, which invokes a Rust image processing library that’s compiled to WebAssembly from a Spring Boot application running in the JVM using GraalWasm.
- Love to see this: applications are being upgraded to Java 23 left and right!. Have you upgraded yet?
- Speaking of Java 23: it’s out! Get the bits now! My favorite installation?
sdk install java 23-graalce
. - Did you see the new support in Spring Tools 4 (supporting Visual Studio Code and Eclipse) that offers an inlay hint for query parameters, showing you the name of the method parameter right where you reference it in the query?
- I love this article looking at Spring AI on The New Stack.
- Also, another cool feature in Spring Tools 4: the new release brings you a nice little code lens on top of Spring Expression Language expressions, query statements, and AOP pointcut expressions that tell Copilot to explain them for you.
- I love this documentary looking back at the history of Kotlin.
- Spring Shell 3.2.8, 3.3.3, and 3.4.0-M2 are now available.
- Spring Modulith 1.3 M3, 1.2.4, and 1.1.9 released.
- Spring Boot 3.4.0-M3 available now.
- Spring Cloud Dataflow 2.11.5 released.
- Spring Boot 3.3.4 available now.
- Spring Boot 3.2.10 available now.
- In this installment of A Bootiful Podcast, I talk to Flowable co-founder and my friend Joram Barrez about workflow, case management, AI, Spring, and more.
- Spring Integration 6.4.0-M3 available.
- Spring AMQP 3.2-M3 available.
- Spring Batch 5.2.0-M1 is out.
- Spring for Apache Kafka 3.3.0-M3, 3.2.4, and 3.1.9 are out.
- Spring Authorization Server 1.4.0-M2 is available now.