Spring Team
Andy Wilkinson

Andy Wilkinson

Developer

Southampton, UK

Blog Posts by Andy Wilkinson

Lazy Initialization in Spring Boot 2.2

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 injected until it’s needed.

Read more...

Memory footprint of the JVM

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 longer referenced and are garbage collected. Typically, the amount of heap that an application is using will fluctuate as a function of the current load.

Read more...

Spring Boot 2.2 M1

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
Read more...

Spring IO Platform Cairo-SR7

I am pleased to announce that Spring IO Platform Cairo-SR7 is now available from both repo.spring.io and Maven Central.

This maintenance release upgrades the versions of a number of the projects in the Platform:

  • Reactor Bismuth-SR15
  • Spring AMQP 2.0.11
  • Spring Batch 4.0.2
  • Spring Data Kay-SR13
  • Spring Framework 5.0.12
  • Spring Integration 5.0.11
  • Spring Kafka 2.1.12
  • Spring REST Docs 2.0.3
  • Spring Retry 1.2.3
  • Spring Security 5.0.11
  • Spring Session Apple-SR8
  • Spring Web Services 3.0.6

The versions of a number of third-party dependencies have also been updated.

Read more...

Spring IO Platform Brussels-SR16

I am pleased to announce that Spring IO Platform Brussels-SR16 is now available from both repo.spring.io and Maven Central.

This maintenance release upgrades the versions of a number of the projects in the Platform:

  • Spring AMQP 1.7.12
  • Spring Batch 3.0.10
  • Spring Boot 1.5.19
  • Spring Data Ingalls SR18
  • Spring Framework 4.3.22
  • Spring Integration 4.3.19
  • Spring Security 4.2.11
  • Spring Session 1.3.5
  • Spring Web Services 2.4.4

The versions of a number of third-party dependencies have also been updated.

Project Page | GitHub | Issues | Documentation

Read more...

Spring Boot 1.5.19

On behalf of the team, I am pleased to announce that Spring Boot 1.5.19 has been released and is now available from repo.spring.io and Maven Central.

Spring Boot 1.5.19 is a maintenance release that includes 17 dependency updates.

If you haven’t already upgraded to Spring Boot 2, please consider doing so as support for 1.x will end on August 1st 2019.

How can you help?

If you’re interested in helping out, check out the “ideal for contribution” tag in the issue repository. If you have general questions, please ask on stackoverflow.com using the spring-boot tag or chat with the community on Gitter.

Read more...

Spring REST Docs 2.0.3.RELEASE

It’s my pleasure to announce that Spring REST Docs 2.0.3.RELEASE is available from Maven Central, JCenter, and our release repository. My thanks to everyone who contributed to this release by reporting bugs and opening pull requests.

This maintenance release includes a small number of fixes and documentation improvements. It is a recommend upgrade for all Spring REST Docs 2.x users.

GitHub | Issues | Documentation | Twitter | Gitter | Stack Overflow

Read more...

Spring REST Docs 1.2.6.RELEASE

It’s my pleasure to announce that Spring REST Docs 1.2.6.RELEASE is available from Maven Central, JCenter, and our release repository. My thanks to everyone who contributed to this release by reporting bugs and opening pull requests.

This maintenance release includes a handful of bug fixes and documentation improvements. It is a recommend upgrade for all Spring REST Docs 1.x users.

GitHub | Issues | Documentation | Twitter | Gitter | Stack Overflow

Read more...

Spring IO Platform Cairo-SR6

I am pleased to announce that Spring IO Platform Cairo-SR6 is now available from both repo.spring.io and Maven Central.

This maintenance release upgrades the versions of a number of the projects in the Platform:

  • Reactor Bismuth-SR14
  • Spring AMQP 2.0.10
  • Spring Boot 2.0.7
  • Spring Cloud Connectors 2.0.4
  • Spring Data Kay-SR12
  • Spring Framework 5.0.11
  • Spring Integration 5.0.10
  • Spring Kafka 2.1.11
  • Spring Security 5.0.10
  • Spring Session Apple-SR7

The versions of a number of third-party dependencies have also been updated.

Read more...

Spring IO Platform Brussels-SR15

I am pleased to announce that Spring IO Platform Brussels-SR15 is now available from both repo.spring.io and Maven Central.

This maintenance release upgrades the versions of a number of the projects in the Platform:

  • Spring Boot 1.5.18
  • Spring Cloud Connectors 1.2.7
  • Spring Data Ingalls SR17
  • Spring Framework 4.3.21
  • Spring Integration 4.3.18
  • Spring Security 4.2.10
  • Spring Session 1.3.4

The versions of a number of third-party dependencies have also been updated.

Project Page | GitHub | Issues | Documentation

Read more...