Hi, Spring fans! Welcome to another installment of This Month in Spring! And what a month it's been! First things first: have you installed the just-released Java 22 yet? No? Well, get on it! It's out there and it's awesome! Java 22 brings with it Project Panama, more contemporaneously known as the foreign function interface. It's awesome! I look at it and a ton of the other new features in this blog, Hello, Java 22!
Second, I did a really long blog looking at building modern Spring applications in early 2024, check that out!
This last month has been nutty! I just had a lovely bit of PTO in Miami, Florida, where I got to see my ol' friend Jon Schneider, lead of OpenRewrite, a powerful tool for refactoring and migrating Java applications. And now, I'm in Bucharest, Romania, where I'll be keynoting the epic VOXXED DAYS Bucharest event here in a few short days. It's going to epic. Or, at least I hope so. Also, I'll be keynoting the Microsoft JDConf later this week. And, I'll be keynoting Google Cloud Next in early April! Don't miss any and all of these events! It'll be fun.
And, of course, the community has been as busy as ever in the last month since we spoke and there's a ton to get into, so let's delay not one second more, and let's dive right into it!
- Sam Brannen shares some good news: a null-safe Index operator for the Spring Expression Language (SpEL) is coming to Spring Framework 6.2!
- This is interesting, and a nice application of AI (do I even need to spell out "artificial intelligence" anymore?): localize applications with Spring AI
- this is a neat guide by community member Wim Deblauwe over on InfoQ: A Practical Guide to Building an API Back End with Spring Boot – version 2
- James Ward, founder of the WebJars project and a legend in his own right, invites folks to contribute feedback on the new
webjars-locator-lite
module, created by the good, the great, the amazing and inimitable Dr. David Syer - the Java Techie Youtube channel has a nice video looking at Spring Boot for Apache Pulsar
- I love this talk from Voxxed Days Zurich from community member Maciej Walkowiak on Performant Spring Data JPA
- Speaking of Dr. Syer, he's got a great post, Reflectionless templates with Spring, up on the Spring blog
- Spring Modulith 1.2 M3 has been released
- Spring Boot 3.3.0-M3 is available now
- On the last episode of A Bootiful Podcast, I talked to Stuart Marks, Java's famous "Dr. Deprecator" – do not miss this installment!
- Spring Shell 3.1.10 and 3.2.3 are now available
- Spring Boot 3.2.4 is now available now
- Spring Boot 3.1.10 is available now
- Spring Integration 6.3.0-m2, 6.2.3, and 6.1.7, are available now
- Spring Session 3.2.2 and 3.1.5 are available now
- Spring Session 3.3.0-M3 is available now
- in last week's installment of Spring Tips, I looked at the Kotlin Exposed ORM library and its integration with Spring Boot
- the Spring Authorization Server 1.3.0-M3 is available!
- the Token Exchange Support in Spring Security 6.3.0-M3
- the Spring Authorization Server 1.2.3, 1.1.6, and 1.0.6 are available now and include fixes for CVE-22258
- Spring for Apache Kafka 3.0.15, 3.1.3, and 3.2.0-M2 are available now
- Spring for Apache Pulsar 1.0.4 are available now
- Spring Security 6.3.0-M3, 6.2.3, 6.1.8, 6.0.10, 5.8.11 and 5.7.12 are now available
- Spring for Apache Pulsar 1.1.0-M2
- Dr. David Syer wrote up an amazing look at hypermedia and browser enhancement technologies like HTMX and their relationship to Spring
- Spring Data 2023.1.4 and 2023.0.10 are available
- Spring Data 2024.0.0-m2
- in last week's installment of a Bootiful Podcast, I talked to Spring Boot Testjars creator and Spring Security lead Rob Winch
- Spring HATEOAS 2.1.4, 2.2.1, and 2.3 M1 have been released
- Spring Framework 6.1.5, 6.0.18, and 5.3.33 are available including fixes for CVE 2024-22259
- in last week's installment of Spring Tips, I looked at Spring Batch remote partitioning
- Spring Tools 4.22.0 has been released
- Spring Security 6.3.0-M3, 6.2.3, 6.1.8, 6.0.10, 5.8.11 and 5.7.12 are now available
- the Webjars project needs your help! Try out this new Webjars locator implementation, contributed by our very own Dr. Syer, to make webjars even more performant when used in the context of something like a Spring Boot application.
- the Java Technie blog has a nice video on Spring Boot Apache Pular
- A propos: if you're running Java 8 onward on macOS 14.4 on Apple Silicon, then you may be susceptible to a regression in macOS that'll manifest as apparent and sudden quit outs of your Java process. There is no fix yet, so Oracle advise considering delaying your upgrade.
- Our friend Joris Kuipers over on the TRIFORK blog has a nice pokst on Spring Boot Observability for database interactions
- Hey, did I mention I'll be keynoting Google Cloud Tech in Las Vegas? I hope to see you there!
- the Netflix tech blog shares an amazing look at their garbage collection numbers here in this blog
- I know Java 22 just dropped, but for those who haven't heard it, you should be at least on Java 21!
- Join me for a look at the latest-and-greatest, chronicling how I got started with Spring Boot in 2024!
- Spring AI 0.8.1, with new support for Google's Gemini, Mistral AI, QDrant vector store, and improvements across the board, has been released!. Also: it should work with AOT! (let us know if it doesn't!)
- Cristian Schuszter sat down with me for a discussion about CERN, what they do, their use of Java and Spring Boot, and so much more in this installment of A Bootiful Podcast.
- Speaking of Spring AI, just last week they announced easy, portable support for function callbacks.
- In last week's installment of Spring Tips, I concluded my three-part series looking at the Spring Authorization Server.
- I did an article for the New Stack called We Can Have Nice Things: Upgrading to Java 21 is worth it.
- Netflix's Paul Bakker has shared a very interesting blog looking at Netflix's motivations for migrating en masse to Java 21 and their incredible gains just by leveraging the new garbage collectors.
- I was captivated by this blog that I invited Paul and his colleague Kavitha Srinivasan to join me for a good discussion and demo on not just the garbage collector usage, but their migration to Spring Boot, their use of Java 21, some of the things they're doing to improve startup time, and of course the amazing synergistic work they're doing, with us, to make Spring GraphQL and Netflix's DGS frameworks play well together.
- I'll be speaking and keynoting at Google Cloud Next 2024; I hope you'll join the fun and say "hi!" if you're going to be there!
- I did an article for The New Stack looking at the New Relic Developer Survey report: We Can Have Nice Things
- Our very own Jason Konicki has a fabulous post about the amazing Spring projects that were released in February – there are a ton! Check them out!
- The Spring Framework lead has a nice blog detailing the expected support timeline for Spring Framework 6.0x and 5.3x, both of which are at least a year old already.
- Spring Integration lead Artem Bilan has a nice post introducing the Spring Functions Catalog.
- In last week's episode of Spring Tips, I continued our series introducing the Spring Authorization Server, this time applying it to support and secure single-page applications and messaging flows. Stay tuned for the last installment, landing tomorrow – Wednesday, the 6th of March, 2024!
- Use Spring AI to get function-portability across LLMs.
- This is an old curio I just discovered that has zero future, but I think is kind of interesting nonetheless: would you like to use the Java HTTP Server (the one included in the JDK) as a Spring Boot
WebServer
? This old codebase from around 2019 shows how. It, alas, does not work well if you update it because there's been an en masse migration from Java EE to Jakarta EE since then that breaks a lot of the code. - Want to rotate SSL certificates with Spring Boot on a Kubernetes platform like OpenShift? Check out this blog.
- Currently in Spring Modulith 1.2 snapshots, there's a new feature called open application modules. Neat!
- I like this German-language article on using a local LLM (Ollama) with Spring AI.
- Friend of the community Marit van Dijk has a nice blog, Build a Spring Boot App with AI Assistant.
- This paper, Modular Monolith: Is This the Trend in Software Architecture?, is a good read and has a few different mentions of the fantastic Spring Modulith project.
- Spring Modulith 1.0.6, 1.1.3, and 1.2.m2 were released
- Huzzah! Spring AI 0.8.1 is out!
- In this installment of A Bootiful Podcast we look at Timefold AI with its creator Geoffrey De Smet
- good news everyone! Spring Boot's been updated! 3.3.0-M2, 3.2.3, and 3.1.9 are now available!
- Spring Security 6.2.2, 6.1.7, and 5.8.10 are now available
- Spring LDAP 3.1.4 and 3.2.2 are now available
- Spring Batch 5.0.5 and 5.1.1 are now available
- Spring for GraphQL 1.3.M1 and 1.2.5 are now available
- Spring Authorization Server 1.3.0 M2 and 1.1.5
- Spring for Apache Pulsar 1.1.0 M1 is now available
- I had a nice discussion with some of the folks working on Microcks, a consumer driven testing option that works well with Spring. This new release features improved Testcontainers support and GraalVM native image test support.
- Exciting to see GraalVM native image support landing in the Azure OpenAI SDK module for Java
- Did you see the new Micrometer website?
- Want to change the response given from Spring Authorization Serer? Check out this nifty blog from Daniel Garnier-Moiroux
- Speaking of the Spring Authorization Server, I did a video introducing it here a few weeks ago and tomorrow, I've got a video that dives deeper, into securing single page applications and messaging flows with the OAuth Spring Authorization Server. It debuts tonight at midnight, PST.
- I wrote a foreword for a book, Cloud Native Spring in Action, by my friend Thomas Vitale, for Manning. I quite liked the book and was happy to sit down and have a discussion with him for GOTO here
- Have you checked out the latest-and-greatest in Spring Boot? You might like this talk I did at Voxxewd CERN a month ago