Lazy Initialization in Spring Boot 2.2

Engineering | Andy Wilkinson | March 14, 2019 | ...

The recently announced first milestone of Spring Boot 2.2 introduces support for lazy initialization. This post describes the new functionality and explains how and when to enable it.

What Does it Mean to be Lazy?

Spring Framework has had support for lazy bean initialization since before its source code moved to Git 11 years ago. By default, when an application context is being refreshed, every bean in the context is created and its dependencies are injected. By contrast, when a bean definition is configured to be initialized lazily it will not be created and its dependencies will not be…

This Week in Spring - March 12th, 2019

Engineering | Josh Long | March 13, 2019 | ...

Hi Spring fans! What a week! I'm in Seattle, Washington where I've been spending time with Pivotal partner Microsoft talking about all things Spring, Cloud Foundry and Azure, and then tonight I spoke at the Seattle Java User Group on Reactive Spring.

Tomorrow morning I'm off to jolie Montreal, Canada for the epic ConFoo conference. Are you going to be around? Say hi!.

Anyway, without further ado let's get to this week's roundup!

Memory footprint of the JVM

Engineering | Andy Wilkinson | March 11, 2019 | ...

The JVM can be a complex beast. Thankfully, much of that complexity is under the hood, and we as application developers and deployers often don't have to worry about it too much. With the rise of container-based deployment strategies, one area of complexity that needs some attention is the JVM's memory footprint.

Two kinds of memory

The JVM divides its memory into two main categories: heap memory and non-heap memory. Heap memory is the part with which people are typically the most familiar. It's where objects that are created by the application are stored. They remain there until they are no…

Spring Boot 2.2 M1

Releases | Andy Wilkinson | March 08, 2019 | ...

On behalf of the team and everyone that contributed, I am pleased to announce that the first milestone of Spring Boot 2.2 has been released and is available from our milestone repository. This release closes over 140 issues and pull requests.

Highlights of this first milestone include:

  • Spring Data Moore M2
  • Significantly faster binding of large numbers of configuration properties
  • Opt-in support for lazy bean initialization (there will be more on this in a subsequent blog post)
  • JMX is now disabled by default
  • Numerous dependency upgrades
  • Faster startup and lower memory footprint when using the Actuator

A Bootiful Podcast: Matt Raible and James Ward at Devnexus 2019

Engineering | Josh Long | March 08, 2019 | ...

Hi Spring fans! In this extra-long installment I talk with longtime friends and fellow developer advocates, Okta's Matt Raible and Google's James Ward. We talked about Java, Kotlin, Spring, cloud computing technologies, security, Go, paradigm changes, web frameworks past and present, Macromedia, Adobe, Scala, and a million more things! This was a ton of fun for me so I'm hoping you'll enjoy it too.

Google Developer Advocate James Ward on Twitter (@_jamesward) Okta Developer Advocate Matt Raible on Twitter (@mraible)

Spring Cloud Greenwich.SR1 is now available

Releases | Ryan Baxter | March 07, 2019 | ...

On behalf of the community, I am pleased to announce that the Service Release 1 (SR1) of the Spring Cloud Greenwich Release Train is available today. The release can be found in Maven Central. You can check out the Greenwich release notes for more information.

Notable Changes in the Greenwich Release Train

Spring Cloud Netflix

Spring Cloud Stream

  • Bug fixes

Spring Cloud Cloudfoundry

Spring Cloud Commons

Spring Cloud OpenFeign

  • Added Spring Data pagable support
  • Issues

Spring Cloud Task

  • Bug fixes

Spring Cloud Sleuth

Spring Cloud Aws

  • Logging and formatting changes

Spring Data Moore M2 released

Releases | Christoph Strobl | March 07, 2019 | ...

On behalf of the Spring Data team, I'm pleased to announce the availability of the second milestone of the Moore release train.

Notable changes include:

  • Support for Kotlin Coroutines in Spring Data MongoDB, Cassandra and Redis.
  • Querydsl support for reactive repositories.
  • Range type support for derived repository query methods using between for Spring Data MongoDB & Cassandra.
  • exists projection in Neo4j repositories.
  • Reactive repositories for Spring Data Elasticsearch.
  • Pivotal Gemfire and Apache Geode upgrades.
  • Upgrade to Spring HATEOAS 1.0 M1.
  • ...and numerous features for the JDBC module like direct insert & update methods skipping the is new check.

Has there ever been a better time to become a Java developer?

Engineering | Ben Wilcock | March 07, 2019 | ...

Surely there’s never been a better time to become a Java developer?

There are productivity tools available these days that would have been mind-blowing just five years ago.

Take Spring Boot for example. Many people reading this on the Spring website may be familiar with Spring Boot. But let’s take a moment to acknowledge its awesomeness.

Years ago, if you were going to use the Spring Framework in your application, you had to be OK with a certain amount of configuration toil creeping into your day. But it wasn’t nice friendly configuration like, (ah, actually, sorry, I can’t think of an example…

Spring Cloud Data Flow and Skipper 2.0 GA Released

Releases | Mark Pollack | March 06, 2019 | ...

The Spring Cloud Data Flow team is pleased to announce the release of 2.0 of Data Flow. Follow the Getting Started guides for running on Local, Cloud Foundry, and Kubernetes.

Hand in hand is the 2.0 release of Spring Cloud Skipper. The getting started section in the reference guide is the best place to start if you want to use Skipper separately from Data Flow.

Here are the highlights for Data Flow

  • Stream deployment always delegates to Skipper

  • Single server that runs on all supported platforms

  • Launch tasks against multiple platforms

  • UI improvements

  • Standardize on OAuth2 and OpenID Connect for Security

  • Revamped metrics and monitoring of deployed applications

  • Updated analytics using micrometer

  • Database migration support

  • Update to Boot 2.1

  • Update internals to use JPA

  • Task/Job Execution and Performance improvements

Flight of the Flux 1 - Assembly vs Subscription

Engineering | Simon Baslé | March 06, 2019 | ...

This blog post is the first in a series of posts that aim at providing a deeper look into Reactor's more advanced concepts and inner workings.

It is derived from my Flight of the Flux talk, which content I found to be more adapted to a blog post format.

I'll update the table below with links when the other posts are published, but here is the planned content:

  1. Assembly vs Subscription (this post)
  2. Debugging caveats
  3. Hopping Threads and Schedulers
  4. Inner workings: work stealing
  5. Inner workings: operator fusion

If you're missing an introduction to Reactive Streams and the basic concepts of Reactor, head out to the site's learning section and the reference guide

Get the Spring newsletter

Thank you!

Get ahead

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

Learn more

Get support

Spring Runtime 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