Hi, Spring fans! 2020, eh? It's easy to complain, and goodness knows I certainly do my fair share, but - as my dad always said, "any day on this side of the dirt is a good day," and I try to remember that. There's a lot to be enthusiastic about if you like. I always look. That's what this roundup is all about. It's a fount of the fun, fantastic, production-powered, and boundless beauty of all things Spring Boot. And, while I still can't quite believe we're already into the second half of 2020, I am very excited for the upcoming, now all-virtual, free, SpringOne 2020 event! I'll be speaking about Microsoft Azure with my pal Julien Dubois, and I'll be talking about testing with my pal Mario Gray. Join us, and the rest of the Tanzu and Tanzu community, for this extra special, extra dense journey into the wilds of Springdom.
In the meantime, I've been trying to keep busy, too!
I finally, finally, put some elbow grease into automating a listing of some my activity and so now whenever I publish a new Spring Tips video, a new A Bootiful Podcast podcast, or commit to a new public appearance, I'll have information here on my public activity feed page. The appearances that are there right now don't represent all my upcoming appearances or even all my public appearances, which you are free to attend, they're only the ones I've polished off for presentation on this site.
I am hard at work on the RSocket chapter of my new book Reactive Spring. RSocket is amazing, and I'm so very intrigued with it, and it has permeated so much of Spring itself. There's fantastic support in the core Spring Framework. There's terrific support in Spring Boot, Spring Security, and Spring Integration, too. There's also work being done in Spring Cloud. (Stay tuned!) I have even built a (still very experimental!) project that gives you a Retrofit- or OpenFeign-like experience for RPC using Spring's support for RSocket. I hope you'll give it a shot and file issues, send feedback, tweet me, etc., so that we can validate that there's an appetite for it.
While we're on the topic of validating our understanding, the Spring team at large would love your help. Would you please take this survey and help us learn where you stand?
And, of course, there's a ton of stuff to tide us up as we lead into SpringOne. Let's get to it!
- A Bootiful Podcast: Intuit's Katie Levy on Spring Boot, Kotlin, Android and more
- Announcing Spring Cloud Data Flow for Kubernetes.
- At @VMware, @sinasojoodi & @RKela are helping retailers migrate to event streaming and event-driven microservices. Hear all about it on today's episode of #StreamingAudio, hosted by @tlberglund, where they cover @springcentral and much more!
- Building a Chat application with Angular and Spring Reactive WebSocket: Part 2 | by Hantsy | Jul, 2020 | Medium
- Check out this guide to learn how to schedule `Task's with Spring
- Clean Architecture Boundaries with Spring Boot and ArchUnit
- Collaborative Leadership: Transparency and Governance Beyond Company Affiliation
- Did you miss this "TGI Kubernetes"? It was good!
- Don't forget I'll be taking over the SpringOne Tour tomorrow! Save your seat!
- From Mainframe to Microservices with Pivotal Platform and Kafka: Bridging the Data Divide
- Get started with RSocket in Spring Boot
- GitHub, the world's largest open-source software site, buries 21 TB open-source code in Arctic vault for 1,000 years. Super cool! And particularly so because it includes a ton of Spring projects to which I, and many other community users, have contributed. Thank you, community! Your work (and ours) will endure in production today and in the hearts and minds of those who succeed us 1,000 years from now!
- Have you checked out our amazing intro-to-Kubernetes, KubeAcademy?
- How to deliver software by writing tests first.
- I love this deep look at the Tanzu Observability platform, powered by Wavefront
- Introducing Java Functions for Spring Cloud Stream Applications - Part 1
- Is there any need to switch to modules when migrating past Java 8? No.
- Loom Q&A
- Mapping a path query in Spring Data Neo4J
- Rethinking the role of MemorySegment vs. MemoryAddress
- Save Your Stack: Build Cloud Native Apps with Spring, Kubernetes and Cassandra | VMware Tanzu Developer
- Serializable Records - another interesting post on Inside.java
- Setup a Spring Boot application fast using Spring Initializr
- SivaLabs has a ton of great articles that look at building microservices with Spring Boot and Spring Cloud
- Speaking of SpringOne, have you registered for this year's all-free, all-online SpringOne 2020 event? It'll take place on September 2-3, 2020. Don't miss this!
- Spring Boot Two-Factor Authentication by Amr Khaled over on the Javarevisited blog
- Spring Data JPA: Query Projections
- Spring Framework 5.2.8, 5.1.17, 5.0.18, and 4.3.28 available now
- Spring Initializr 0.9.0 available now
- The Bootiful Podcast: Instrumenting and Visualizing the Linux Kernel
- This Google Cloud portal has tons of great stuff on optimizing Spring Boot and Java applications for Google Cloud Run
- This is a very thoughtful post on dependency management in Java over on the Azure Java blog.
- Thoughts from the Front-line: Why Wavefront? | by Clement Pang | Jul, 2020 | Medium
- Want to get hands-on experience with Spring? Now you can.
- What the Education Services Team has in Store for You at VMworld 2020
- the first release of the R2DBC PostgreSQL driver from within the PostgreSQL organization has been cut!
- A Bootiful Podcast: Spring Data JDBC lead Jens Schauder on Spring Data, domain-driven design and more
- Building web applications with Spring Boot and Vaadin
- Did you know that SpringOne is virtual, and free, this year? What're you waiting for? Get ta registerin'!
- Don't miss tomorrow's Datastax Accelerate watch party
- Find out how Pivotal Labs can help during fully remote work
- First milestone of Reactor 2020.0 (Codename Europium)
- Google Announces Its Cloud VMware Engine Is Now Generally Available
- Have you considered getting Spring training and becoming certified?
- Introducing Java Functions for Spring Cloud Stream Applications - Part 0
- I'll be speaking (virtually) at the London Java Community on Tuesday today!
- Marco Behler has another great interview, this time with Oliver Drotbohm
- New candidate JEP: 388: Windows/AArch64 Port. This is super cool in that it's the first JEP from Microsoft! What a wonderful time to be alive!
- Sign up now to hear from me on July 22-23 at the SpringOne Tour event on microservices. We'll be covering so much stuff friends. I'm looking forward to seeing you there! (And, by the way, if you have things you want to see covered, I'm doing an AMA-style session as well. :))
- Tech Elevator is now training on Spring Boot
- Thanks for having me!
- The Past, Present and Future of Cloud Foundry – Part 2
- The RabbitMQ Cluster Kubernetes Operator is now open source
- The Spring team wants to hear from you!
- The team that's been working on building a reactive Neo4J integration has just reached their first milestone: they've successfully integrated into Spring Data Neo4j. Next up: Spring Boot starters! Congrats to the Spring Data and Neo4j teams!
- This is not strictly speaking a JVM or Spring-adjacent post but it's super interesting. In it, Soumyadeep Deep introduces Zedstore, a Compressed Columnar Storage for Postgres, developed jointly by, among others, VMware. This has some interesting opportunities for things like Greenplum.
- Thorben Janssen has a great video on Spring Data JPA Named Queries
- Three reasons you'll deliver valuable software faster if you write tests first.
- We'd love the community's help as we redesign Spring Cloud Stream around functions.
- Which SpringOne track are you most excited about?
- A Bootiful Podcast: An Exciting Week of Releases and Dr. Yordan Karadzhov
- A great screencast from Matt Raible: Angular Docker with a Big Hug from Spring Boot - YouTube
- A nice post on ZGC and using
-XX:SoftMaxHeapSize
- A nice talk about Java in containers by David Delabassee
- Sara Torrey (@SaraTorrey) has an amazing podcast, Exploring Axon, and in the most recent interview she interviewed Axon creator Allard Buijze
- Background: how we got the generics we have
- Compact Forwarding Information
- Creating "The Second Best Place on the Internet" with Spring Initializr
- Delay startup of your Spring Boot application until your DB is up.
- DevJourney Podcast | What if you could sit around a campfire 🔥 and listen to the world's best software developers tell you the tales of their life journeys? Welcome to Software Developer's Journey, the podcast shining a light 💡 on developer's
- Docker, SpringBoot & Buildpacks
- First Spring Framework 5.3 milestone released
- First milestone of Spring Data 2020.0 available
- Getting Started with RSocket on Spring Boot – Ben Wilcock
- Great talk: Why Empathy Matters in Infrastructure Delivery
- Have you checked out Tanzu Mission Control's new data protection feature?
- How do 'hot and cold' objects behave?
- I like this Japanese-language post on Spring's
@Autowired
- I loved this talk Avoiding Reactor Meltdowns about how to use project Reactor and understand what's happening
- It was a lot of fun doing a meetup this morning (PST) for folks who received pizza for dinner in their timezone (CEST)!
- JEP 347: Adopt C 14 Language Features in the JDK
- Jakub Pomykala has an open source project to package up reusable patterns for Spring Boot-based applications.
- Julien Dubois on an Azure Native Function with Spring Cloud Function
- Jun 24 - Tanzu Observability Tips for Understanding Your Spring Boot Applications
- Kotlin Programming - The State of Developer Ecosystem in 2020 Infographic | JetBrains: Developer Tools for Professionals and Teams
- Kotlin on Twitter: "Avoid using destructuring declarations together with non-trivial custom data classes: it will be too easy to break your code if you add new properties to such classes later.
- Kotlin on Twitter: "Comparing two strings irrespective of their capitalization? Don't create new strings with toLower() to compare them. Instead, use equals(), which has an option to ignore case when comparing two strings. This way you won't have to a
- Kotlin on Twitter: "If you are using the isBlank() or isEmpty() methods to assign default strings, consider using their ifBlank and ifEmpty counterparts instead. They are designed to make exactly this use-case more concise and to avoid repetition. htt
- Kotlin on Twitter: "When working with multiple lists, evaluate whether set operations like union, intersect, or subtract can help solve your task quickly, rather than relying on filters. They are available as extension and infix functions on Sets, Lists,
- Marco Behler has another nice interview with a Spring community legend, Simon Martinelli
- New Project Loom Early-Access Builds
- Open Source Registry Harbor's Graduation: Q&A with VMware's Michael Michael
- RabbitMQ » Blog Archive » This Month in RabbitMQ, May 2020 Recap - Messaging that just works
- Reactive Programming with Java Spring, R2DBC and MariaDB - DEV
- Running Axon Server - CQRS and Event Sourcing in Java
- Siva Prasad, a wonderful member of the community, did one of Marco Behler's The Spring Interviews. I thought it was a fun read, and you might too.
- Social Network for Programmers and Developers
- Spring Batch 4.3.0-M1 is released now!
- Spring Boot 2.3.0 Focuses on the Cloud
- Spring Boot 2.4.0-M1 is now available
- Spring Integration 5.4 M1 is now available! The Spring Integration 5.4 generation is based on the recently released Spring Framework 5.3 M1, which includes updated dependencies. The new release also includes the long-requested addition of the Spring Integration Kafka extension module. The new
spring-integration-r2dbc
module supportsINSERT
,UPDATE
,DELETE
operations from integration flows in reactive manner. Redis Streams support has been introduced with theReactiveRedisStreamMessageHandler
.And, the project is now compatible with Java 14. We're looking what can be done for Java 17 compatibility. - Spring Security 5.4.0-M2 Released
- Tern: Soaring Through Container Images
- Thanks Mimacom for having me! This was a blast.
- The Google Cloud team worked with the Spring Cloud team to support Google Cloud Functions (Alpha) with Spring Cloud Function. Try it out!
- The New Stack has a nice post on Tanzu, the VMware Kubernetes distribution for developers .
- The Past, Present and Future of Cloud Foundry – Part 1
- The actuator can show information from the Spring Boot app
- There's an open issue on Spring Cloud Zookeeper on which we'd love your help!
- There's a new release of JHipster
- This is a nice post on how to build scalable Facebook-like notifications using Server-Sent Events and Redis (and Spring Boot).
- This is another interesting open-source project by the community; it's a Spring Boot starter for configurable REST API error handling. Looks interesting...
- Todd Ginsberg looks at reactive Spring Boot with Kotlin Coroutines
- URL Matching with PathPattern in Spring MVC
- Want to get involved in the
cf-for-k8s
project or start kicking the tires? Check out these resources! - What's PCF All About? – Tom Prior
- Why are my
@Autowired
fieldsnull
? - Yet another great issue that's ideal for contribution in Spring Cloud.
- @olajide on Twitter: "I love springboot https://t.co/VOY9b5Uycx" / Twitter. Permit me to be so bold as to speak on behalf of the entire Spring team to say that we love you, the community, too!
- URL Matching with PathPattern in Spring MVC
- I did a webinar introducing Tazu Wavefront that you can watch now - do not miss this!
- I also released an episode of A Bootiful Podcast: Tanzu Wavefront co-founder and VMware Principal Engineer Clement Pang which I highly recommend if you want to learn more about Wavefront and the incredible scale that allows it meet the scale demands of Reddit, Home Depot, and more.
- A great screencast from Matt Raible: Angular Docker with a Big Hug from Spring Boot
- Angular Docker with a Big Hug from Spring Boot | Okta Developer
- Avoiding Reactor Meltdown - YouTube
- Background: how we got the generics we have
- A great post on the Inside.java portal: Compact Forwarding Information
- Creating "The Second Best Place on the Internet" with Spring Initializr
- Delay startup of your Spring Boot application until your DB is up.
- Do you use AWS Secrets Manager? It's time for the Spring Cloud AWS team to rethink Spring Cloud AWS + Secrets Manager integration and your input would be very valuable
- Domain-Driven Design with Relational Databases Using Spring Data JDBC
- First Spring Framework 5.3 milestone released
- First milestone of Spring Data 2020.0 available
- Getting Started With RSocket: Spring Security
- Getting Started with RSocket on Spring Boot – Ben Wilcock
- It was a lot of fun doing a meetup this morning (PST) for folks who received pizza for dinner in their timezone (CEST)!
- JEP 347: Adopt C 14 Language Features in the JDK
- Java 14 - Preview Features and their APIs
- Julien Dubois on an Azure Native Function with Spring Cloud Function
- Jun 24 - Tanzu Observability Tips for Understanding Your Spring Boot Applications
- Logging In: Join VMware Virtually for Open Source Summit North America 2020
- New Project Loom Early-Access Builds - get 'em while they're hot!
- Do not miss the latest This Month in RabbitMQ, May 2020 Recap - Messaging that just works
- Reactive Programming with Java Spring, R2DBC and MariaDB - DEV
- Read-write and read-only transaction routing with Spring - Vlad Mihalcea
- Running Axon Server - CQRS and Event Sourcing in Java
- Simplifying Spring Boot GraalVM Native Image builds with the native-image-maven-plugin - codecentric AG Blog
- Siva Prasad, a wonderful member of the community, did one of Marco Behler's The Spring Interviews. I thought it was a fun read, and you might too.
- Spring Batch 4.3.0-M1 is released now!
- Spring Boot 2.3.0 Focuses on the Cloud
- Spring Boot 2.4.0-M1 is now available
- Spring Integration 5.4 M1 Available
- Spring Tools 4.7.0 released! This release is packed! So much good stuff, including an update to the latest version of Eclipse, bugfixes, a favorites dropdown, and more.
- If you enjoyed this Bootiful Podcast installment, you might like Tern: Soaring Through Container Images.
- Thanks Mimacom for having me! This was a blast.
- The Past, Present, and Future of Cloud Foundry – Part 1
- VMworld 2020 Digital Edition
- Want to get involved in the
cf-for-k8s
project or start kicking the tires? Check out these resources! - What's new in Spring Boot 2.3
- Not for nothing, but I think it's pretty darned cool that James Gosling, creator of Java, uses Kotlin!
- Spring Tools 4.7.0 released
- A Bootiful Podcast: Nisha Kumar and Rose Judge on the Linux Foundation's project Tern
- What's new in Spring Boot 2.3
- Getting Started With RSocket: Spring Security
- Spring Tips: Spring and Graal (pt. 2)
- Spring Boot for Apache Geode & VMware GemFire 1.1.8.RELEASE and 1.2.8.RELEASE available!
- Julien Dubois on an Azure Native Function with Spring Cloud Function
- VMworld 2020 Digital Edition
- I love this Spring Data JDBC example demonstrating an integration with JOOQ.
- Check out the rewritten getting started guide on using Spring Data JPA with Azure Database for MySQL
- A great post on Okta Developer: Angular, Docker with a Big Hug from Spring Boot . Okta's Matt Raible drove the creation of the article. He solicited input from Benoit Sautel (who helped with Gradle), Google's Ray Tsang (who helped with Docker and Jib), Google's James Ward (Kubernetes and Google Cloud), Heroku's Joe Kutner (who helped with Heroku and Docker and buildpacks), and me (I helped with Spring and Cloud Foundry). It was a lot of fun collaborating with so many talented people.
- Domain-Driven Design with Relational Databases Using Spring Data JDBC
- A great post on the Codecentric AG blog: Simplifying Spring Boot GraalVM Native Image builds with the native-image-maven-plugin
- Java 14 - Preview Features and their APIs
- Java Feature Spotlight: Sealed Classes
About the Author
Follow on Twitter Visit Website More Content by Josh Long