Hi, Spring fans! Welcome to another installment of This Month in Spring! How are you? It's September 26th, 2023, and I am in sunny Singapore for SpringOne at VMWare Explore Singapore. If you're around, don't forget to say hi!
I know, I know, when we last chatted I was wrapping up at SpringOne in Las Vegas, but we're holding another one! It's a lot of fun, too.
It's gonna be a fun and busy week in Singapore, and then next week I'm off to Antwerp, Belgium, for the amazing Devoxx BE 2023. Then, I'm off to Morocco, for Devoxx MA 2023. Then, I'm off to Amsterdam for SpringOne Tour Amsterdam. If you're in any of these places, do not hesitate to reach out and say hi! I'd love to chat!
We've got a ton of things to cover so let's dive right into it!
- I love Java, and I think it's one of the most productive ways to write systems, so I wrote a quick explainer I'd appreciate you sharing with the world on how to, assuming you've got a *nix environment and nothing else installed, go from zero to hero with Java 21 and Spring Boot 3.
- Java 21 is here, and I wrote a huuuuge explainer about all the new features in this blog here: Hello, Java 21
- If you want to watch your knowledge instead of read it, you might watch this video instead
- Want to learn more about one key dimension of the new features in Java 21? Check out this article from Java language architect Brian Goetz from 2022: Data Oriented Programming in Java
- How Google Cloud emulators and Testcontainers speed up development | Google Cloud Blog
- Want to use Oracle OpenJDK 21 in Github Actions? Julien Dubois has you sorted
- Simplified Event Externalization with Spring Modulith
- Spring Cloud Dataflow 2.11.0 Released
- Spring Modulith ? A Deep Dive (Workshop) – YouTube
- Spring for GraphQL 1.0.5, 1.1.6, 1.2.3 released
- Blog: kubeadm: Use etcd Learner to Join a Control Plane Node Safely
- Did I mention that Java 21 is available? if not, I also put out a Spring Tips video for you to watch looking at a ton of te new features!
- Spring Boot: Exception Handling Best Practices
- Spring Data 2023.0.4, 2022.0.10, and 2021.2.16 released
- Spring Data 2023.1.0-M3 released
- Spring Framework 5.3.30 and 6.0.12 available now
- Spring Tools 4.20.0 released
- Spring for Apache Pulsar 1.0.0-M2 available now
- Spring for GraphQL 1.0.5, 1.1.6, 1.2.3 released
- Maciej Walkowiak shares another great thing: the fabulous asynchronouss testing library, Awaitility, is going to be included in
spring-boot-starter-test
. Hurray! - OpenRewrite: Automatic Code Refactoring and More – Part 2
- Piotr Mińkowski has a great point: If you are looking for a gRPC and Spring Boot integration [you can use that starter](https://github.com/LogNet/grpc-spring-boot-starter. In comparison to more popular
net.devh:grpc-spring-boot-starter
– it is more often released and has support for Spring Boot v3. - Spring Test lead Sam Brannen shares that Spring Framework 6.1 M5 introduces
@ContextCustomizerFactories
to register aContextCustomizerFactory
, superseding@ContextConfiguration(initializers)
when you need access to the test class. Nice! - the good and the great Dr. David Syer has an interesting project here that looks at aggregating OpenAPI schema, here spring-projects-experimental/spring-openapi-aggregator
- Speaking of the good and great Dr. Syer, he and I are doing a keynote at this year's SpringOne in Singapore, and we'll be speaking at the local Java User Group there, too.
- Blog: User Namespaces: Now Supports Running Stateful Pods in Alpha!
- Introducing Spring AI
- Another solid video from Spring In Action legend Craig Walls: Spring AI and Embeddings
- A Bootiful Podcast: Spring Security lead Rob Winch
- All together now: Spring Boot 3.2, GraalVM native images, Java 21, and virtual threads with Project Loom,
- all the SpringOne 2023 videos are now live
- I love the possibilities of Java's Project Leyden – Capturing Lightning in a Bottle
- Spring Commercial Support Extension
- SpringBoot virtual threads vs webflux: Performance comparison for JWT verify and MySQL query
- The Top Programming Languages 2023 – IEEE Spectrum – the rumours of Java's demise are greatly exxagerated.
- Spring legend Sebastien Deleuze says: "I have worked on several improvements in Spring Framework 6.1 that will bring Kotlin Coroutines support to the next level: Spring AOP support, propagation in functional or annotation-based filters, new context DSL. Feedback appreciated!"
- Blog: Comparing Local Kubernetes Development Tools: Telepresence, Gefyra, and mirrord
- Spring Data JDBC – How To Maintain Your Database Schema
- I really like the Spring Cloud Alibaba's project's landing page: SpringCloudAlibaba
- The Java Landscape: A Month with Vaadin, OpenJDK Insights, and Java Enhancements
- This is the Beginning of the End of the N 1 Problem: Introducing Single Query Loading.
- a ton of the videos from the talks at SpringOne @ VMware Explore are already available and accessible now. Here's a link, for example, to my not terrible Bootiful talk
- Blog: Kubernetes 1.28: A New (alpha) Mechanism For Safer Cluster Upgrades
- Blog: Kubernetes Legacy Package Repositories Will Be Frozen On September 13, 2023
- How to Monitor Spring Boot Application With Prometheus and Grafana
- Introduction to gRPC with Spring Boot – Piotr's TechBlog
- This year we're celebrating twenty (20!) years since the early builds of Spring Framework 1.0, and ten (10!!) years since the early builds of Spring Boot 1.0. Did you see this amazing easter-egg, The History of Spring?? It's amazing!
- We announced a new project called Spring AI that provides a convenient abstraction to allow developers to work with Large Language Models like Azure OpenAI and regular OpenAI, and – hopefully – more in the future. I did a live stream with its founder, Dr. Mark Pollack, here, and we did a demo you can look at here
- Spring Authorization Server 1.1.2 available now
- Spring Data 2023.1.0-M2, 2023.0.3, 2022.0.9, and 2021.2.15 released
- Spring Framework 6.1 M4 released
- Spring Modulith 1.0 GA released
- Spring Modulith 1.0 RC2 released
- Tackling the OAuth2 Client component model in Spring Security
- Oracle Backend for Spring Boot – Developer Preview
- Our friend Siva has a great blog looking at the new
JdbcClient
in Spring Framework 6.1 - I just realized that Spring Cloud Alibaba has a fancy landing page!
- A Bootiful Podcast: cloud native Chris Richardson
- From Buzz to Brilliance: Spring Kafka Unleashed for Asynchronous Microservices Magic
- Java Asynchronous Programming Full Tutorial with Loom and Structured Concurrency – JEP Caf? #13
- Spring Authorization Server 1.1.2 available now
- Spring Boot 2.7.15 available now
- Spring Boot 3 OAuth2 Client for Servlets based project
- I did a(n English language) discussion of Spring Boot and Armeria with fellow Java Champion and Netty and Armeria founder Trustin Lee a few months ago in Seoul, Korea
- Spring Data JDBC – How To Maintain Your Database Schema
- Tackling the OAuth2 Client component model in Spring Security
- The Java Landscape: A Month with Vaadin, OpenJDK Insights, and Java Enhancements
- Blog: Kubernetes 1.28: A New (alpha) Mechanism For Safer Cluster Upgrades
- Blog: Kubernetes 1.28: Beta support for using swap on Linux
- Blog: Kubernetes 1.28: Node podresources API Graduates to GA
- Blog: Kubernetes v1.28: Introducing native sidecar containers