Josh Long

Josh Long

Josh (@starbuxman) is the Spring Developer Advocate at Pivotal and a Java Champion. He's host of "A Bootiful Podcast" (https://soundcloud.com/a-bootiful-podcast), host of the "Spring Tips Videos" (http://bit.ly/spring-tips-playlist), co-author of 6+ books (http://joshlong.com/books.html), and instructor on 8+ Livelessons Training Videos (http://joshlong.com/livelessons.html)

Recent Blog posts by Josh Long

Bootiful Spring Boot 3.4: Spring Data

Engineering | November 24, 2024 | ...

The release announcement blog does a good job highlighting some of the many features in Spring Data 2024.1. Remember: Spring Data is an umbrella project, aggregating modules supporting, among other things, Couchbase, Redis, MongoDB, JDBC, R2DBC, Neo4J, Apache Cassandra, and countless other data stores. It’s the easiest way to connect your data stores to your applications. And indeed, we could write a small book with all the new features here!

Here are some of the features that caught my eye.

  • A new Repository fragments SPI lets any arbitrary .jar on the classpath, or indeed code in another package, contribute extensions to the Spring Data repository mechanism via the Spring.factories service factory mechanism
  • much-reduced query parsing overhead in Spring Data JPA
  • expiration for @TimeSeries in Spring Data MongoDB
  • keyspace qualification for tables and user-defined types in Spring Data for Apache Cassandra
  • Refined CQL generation with CqlGenerator in Spring Data Cassandra
  • Jedis Lua scripting support in transaction and pipeline operations in Spring Data Redis
  • Customize the JedisClientConfig with the JedisClientConfigBuilderCustomizer

Bootiful Spring Boot 3.4: Spring Framework

Engineering | November 24, 2024 | ...

The Spring Framework 6.2 release notes provide a much more detailed look at all the new features. I won’t rehash all of them here, but here are some of the features that caught my eye:

  • Improved generic type safety in auto wiring sorting.
  • Smarter, more optimized Spring Expression Language expressions.
  • More efficient handling of resources in web applications, as well as in the WebJars support.
  • Refinements to Spring’s JMS support and STOMP-over-WebSocket support.
  • Improved testing support with the new HTMLUnit dependency, AssertJ-style MvcTester for Spring MVC tests, and much improved mocked beans in tests.
  • Support the concept of @Fallback beans, essentially the mirror image of @Primary beans.
  • Background bean initialization.
  • Improved binding of data to constructors.

Bootiful Spring Boot 3.4: Spring Integration

Engineering | November 24, 2024 | ...

Spring Integration 6.4 is your one-stop shop for all matters of enterprise application integration. So it supports numerous messaging and integration patterns and even more numerous adapters for all manner of technologies - SFTP, FTP, Redis, Apache Pulsar, Apache Kafka, JDBC, TCP/IP, etc. So, as you might have surmised, there’s just no way to keep up with them. The release notes do a pretty good job, so I’ll list some of my favorites.

  • The remote file system inbound adapters now use the clearFetchedCache() method to remove references from the cache for unprocessed remote files.
  • The Spring Integration distributed lock mechanism has a method - LockRepository#delete - that now returns the result of removing ownership of a distributed lock.
  • similarly, the Redis-backed implementation of distributed locks - RedisLockRegistry - throws a ConcurrentModificationException if the ownership of the lock is expired.
  • there is now a convenient Consumer<SshClient> to allow for further customization of the internal SshClient

Bootiful Spring Boot 3.4: Spring Modulith

Engineering | November 24, 2024 | ...

When Spring Boot first came out, I would tell people at talks that Spring Boot is like pair programming with the Spring team. It provided the convention-over-configuration to allow you to stand up infrastructure and get something going quickly. But it didn’t provide much architectural guidance. No "rails," as it were, regarding how you structured your application. And this was OK, I think, since Spring Boot isn’t a one-trick pony. You can use it for CLIs, monoliths, web applications, batch jobs, streaming and integration processors, microservices, GRPC services, Kubernetes operators, etc…

Bootiful Spring Boot 3.4: Spring Security

Engineering | November 24, 2024 | ...

Spring Security 6.4.1 is your one-stop shop for authenticated and authorized items, and this release is a doozie! The release notes brim with the possibilities!

The release notes are a lie!

I mean, they’re not a lie. They just don’t do a good job of capturing and conveying how awesome this release is. There are more user-facing toys in this release than in many previous releases. This might be my favorite Spring Security release since at least it sprouted a Java configuration DSL!

Look at those release notes. See those puny sections on Passkeys and One-Time Token Login? Yah. That’s the lie…

A Bootiful Podcast: Heroku's Terence Lee

Engineering | November 21, 2024 | ...

Hi, Spring fans! Happy Spring Boot 3.4.0 release day to those who celebrate! Today I'm joined by both Terence Lee, from Heroku, and my friend DaShaun Carter, and we talk about platforms, buildpacks, and more. #heroku #paas #buildpacks,

This Week in Spring - November 19th, 2024

Engineering | November 19, 2024 | ...

Hi, Spring fans! How are you? Can you believe we're already staring at the end of the month? It's that time of the year when we see new releases, and the new releases reflect that frenzy! Soon: Spring Boot 3.4.0! Are you updated? Make sure you're updated!

Remember: Spring projects leave open source support after a year. So, roughly, when Spring Boot 3.4.0 drops, Spring Boot 3.2.0 and earlier won't be supported anymore. If you want to know where you stand, check the support windows on the various projects' pages

  • Spring Framework 6.2.0 available now! This foundational piece kicks off our release cycle for the season. Remember: we do new releases of Spring Framework and Spring Boot every six months! Spring Framework 6.2 brings new baseline dependencies, removed APIs, tweaked Priority behavior in the core container, deeper generic type matching, @Fallback beans, SpEL updates, smarter resource loading in web…

This Week in Spring - November 12th, 2024

Engineering | November 12, 2024 | ...

Hi, Spring fans! Welcome to another installment of This Week in Spring!

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all