Hi, Spring fans! Welcome to another installment of This Month in Spring! Can you believe it? We’re already in February of 2024! A new year is upon us! Speaking of, Happy Chinese or Lunar New Year to those that celebrate! It’s been a busy month. I was just in Switzerland for the amazing VOXXED DAYS Ticino and CERN events. Here’s the Voxxed Days CERN talk looking at Spring Boot 3.
I’ve been doing a ton of different Spring Tips videos. (Are you subscribed to the SpringSourceDev Youtube channel?) I have a playlist for all the Spring Tips installments. Recently, I did a video on Spring Boot 3.1, and then Java 21, and Spring Boot 3.2, and Spring’s event subsystem, and Spring Data JDBC, and the humble DataSource
, and CQRS with the Axon Framework and Spring Boot, and Spring Boot TestJars, and – just recently – the amazing Spring Authorization Server.
Oh, I also did a video on the new Spring AI project which has taken off. There’s a ton of amazing things to play with right now in the Spring and Java ecosystems. One of the projects I’ve been most excited about of late is the Spring AI project, and it seems like y’all are digging it too. Remember: most people don’t need to write their own SQL databases in C, and most people don’t need to write their own LLMs in C and Python. Instead, they need to integrate, and here Spring AI is second to none. The options are endless, and incredible. We live in age of unparalled possibility, and Spring is making it easier than ever to integrate these opportunities into the enterprise.
Alright, my friends, this last month’s been very busy, but let’s dive right into it.
- Have you checked out the Spring Health Assessment report? It’s a great way to give your project’s dependencies a health checkup. Spring Health Assessment
- Spring for Apache Pulsar 1.0.3 is now available
- Spring for Apache Kafka 3.0.14, and 3.2.0 M1 are now available
- The first milestone of Spring Data 2024.0.0 available
- Spring Data 2023.1.3 and 2023.0.9 available
- In last week’s installment of A Bootiful Podcast, I talked to Java Developer Advocate at Oracle, Nicolai Parlog. A Bootiful Podcast
- Spring Framework 6.1.4, 6.0.17, and 5.3.32 are now available
- Have you heard of OpenFGA before? It’s an interesting way to model authorities in a secure system, and it looks like we might see an integration with Spring Security. Check it out and sound off. We’d love to get your feedback
- The New Relic state of the Java ecosystem report is out and it, like a Shakespearean tragedy, is a well-written but sad story. 2023 State of the Java Ecosystem. People: this is why we can’t have nice things! Let’s please try and use Java 21? All together now. Ready? One, two, three… go!
- Have you tried Wim Deblauwe’s amazing error handling library for Spring Boot? It’s dope.
- I liked this video looking at some trends in modern Java and Spring Boot. Nice job, Siva! Modern Java and Spring Boot
- Spring Tools 4.21.1 is now available
- In the latest installment of a Bootiful Podcast, I talk to the good, the great Dr. Venkat Subramaniam
- In this installment of Spring Tips, I look at the new Spring AI project
- In this installment of Spring Tips, I look at the new Spring Boot Testjars project
- our friend Siva has a nice video on using Java 17 and 21 with Spring Boot and Testcontainers
- I loved working with the Flowable team to bring AOT native image support to their project, and its’ finally landing
- ACM Members: the “Spring Boot in Practice” audiobook, which is a cookbook-style guide to Spring application development, is now available. I love this book and wrote the foreword for it. Check it out!
- I did a talk looking at Spring Boot 3 at VOXXED Days CERN and you might like it
- Baeldung has yet another interesting article, this one looking at custom JSON serialization and deserialization with Spring’s reactive
WebClient
- You’ve heard of OpenRewrite, surely. There are a bunch of great features there to make it easy to write programmatic recipes to transform code. Moderne, the company behind it, has jst written a nice blog showing how they used the OpenRewrite project to automatically upgrade their own Spring Boot project to Spring Boot 3.2.
- in last week’s installment of A Bootiful Podcast, I talked to Gunnar Morling, who created the 1BRC (1 Billion Row Challenge) that asks people to – using nothing but barebones JDK Java types – load one billion rows of weather station telemetry data. This was a race to the bottom as hundreds of entries flooded in and we eventually got implementations that loaded and analyzed and processed thirteen gigabytes of data in less than 1.5 seconds. It’s a very cool effort and Gunnar was kind enough to share some of the learnings we can take from the results
- In last week’s installment of Spring Tips, I look at the fantastic new Spring AI project.
- Baeldung have a nice blog up on custom JSON deserialization using Spring
WebClient
- wanna know how Moderne, a company behind the popular OpenRewrite tool, which provides code-based recipes to refactor Java code, dogfooded OpenRewrite to upgrade their own Spring Boot codebase to Spring Boot 3.2? Look no further!
- Spring legend Craig Walls has a nice vlog on generating images with Spring AI
- Did you see this presentation I did at the AxonIQ keynote last year with Axon Framework founder Allard Buijze?
- Did you see this video I did introducing Spring Data JDBC?
- …or this one introducing
DataSource
s? - …or this one looking at Spring’s
ApplicationEvent
mechanism? - Spring Cloud 2022.0.5 (aka Kulburn) is now available
- in last week’s installment of A Bootiful Podcast, I talked to Spring trainer Patrick Basumgartner about optimizing Spring applications
- Spring Cloud Commons 4.1.1 has been released
- In last week’s Spring Tips, I looked at easy domain driven design and CQRS with Axon Framework and Spring Boot
- Spring legend Craig Walls has a nice video on image generation with Spring AI
- Spring Data JPA
findById
is an anti-pattern? Nope! check this blog out - the Auth0 blog has another banger, this time looking at how to build a GraphQL API with Spring Boot
- I love this – a great collaboration on Project Leyden, an effort to produce dimensions of optimizations for the JVM
- Want a quick debrief on all the new features in Java over the last few years! Well too bad! There are too many. There’s no way to do this quickly! Ridiculous. But if you want a list of all the features and don’t mind investing a bit of time, then check this out
- the Digma blog has a nice list of key features in Spring Boot 3.2 by friend of the community Simon Verhoeven. Nice work, Simon!
- Spring Shell 3.1.8 and 3.2.1 are now available
- CVE-2024-22233: Spring Framework server Web DoS Vulnerability
- Spring Modulith 1.0.5, 1.1.2, and 1.2 M1 released
- Spring Boot 3.2.2 available now
- Spring Boot 3.3.0-M1 available now
- Spring Security 6.3 adds passive JDK Serialization/Deserialization for Seamless upgrades
- Spring Boot 3.1.8 available now
- A Bootiful Podcast: programming language archaeologist Ted Neward
- My friend Cora Iberkleid is a legend in all things software and so whenever she speaks, I listen. She’s started posting these super handy little writeups on twitter (as handy, downloadable images you could perhaps use as reference cards?), so follow her (@ciberkleid) for more. One of her latest is on the new SSL hot reloads in Spring Boot 3.2 – check it out!
- on the latest Spring Tips I look at ye ole
DataSource
s - I just sat down with the legendary Dr. Venkat Subramaniam to talk about some of the latest-and-greatest in Java 21
- have you heard about Gunnar Morling’s fantastic 1 billion row challenge (1BRC)? It’s driving a lot of interesting ideas and paving the way for everyone to create scalable services. Hear him talk about it in this discussion
- Want to optimize your routing? your plan? You need a solver, and Timefold AI is just such a solver. It’s opensource, fast, and works well with Spring Boot. Check it out here
- my pal Simon Martinelli has a new video, this one introducing Spring Boot Docker Compose support – check it out
- bye bye, Unsafe