Stéphane Nicoll

Stéphane Nicoll

Stéphane is an experienced software engineer and open source contributor with a strong focus on Java enterprise development, software architecture, and technical leadership. Over the years, he has contributed to and led a wide range of initiatives, including the development of critical infrastructure in logistics and geospatial systems, as well as the design of enterprise frameworks widely adopted across the industry.

Stéphane is a core contributor to the Spring Framework and Spring Boot open source projects, and previously led Spring Initializr and start.spring.io, supporting developers worldwide in getting started with Spring. As a former member of the Apache Maven PMC, he has been actively involved in open source software governance and evolution for two decades.

As a member of the Spring team, Stéphane has had the privilege of working on various aspects of Spring Boot and Spring Framework, with a focus on understanding its inner workings and collaborating with the fantastic community of contributors.

Connect with Stéphane ("snicoll") on Bsky, Mastodon, and GitHub to follow his ongoing journey in the world of Java development.

Recent Blog posts by Stéphane Nicoll

Spring Boot 1.3.0.M3 Available Now

Releases | August 11, 2015 | ...

It is my pleasure to announce that Spring Boot v1.3.0.M3 is available now from the Spring milestone repository. This release includes 90 fixes and improvements and merges 38 pull-requests! Thanks again to everyone that has contributed.

Highlights of the new release include:

  • HTTP session persistence (enabled automatically with Devtools)
  • Configuration improvements for JMS and AMQP endpoints
  • Various Logback and log4j 2 improvements
  • Auto-configuration classes can now be excluded via configuration
  • Auto-configuration for embedded MongoDB
  • Auto-configuration for H2 web console

For a complete list of changes, and upgrade instructions, see the Spring Boot 1.3 Release Notes on the wiki and the updated reference documentation

Cache auto-configuration in Spring Boot 1.3

Engineering | June 15, 2015 | ...

Over the past year, we have significantly improved the cache abstraction, with support of JSR-107 (JCache) annotations and a better declarative model to share or externalize common settings. In Spring Boot 1.3, we now offer a comprehensive auto-configuration for it.

In a nutshell, the cache abstraction applies caching to methods, thus reducing the number of executions based on the information available in the cache. The caching logic is applied transparently: the method below will only be invoked if the specified ISBN is not already present in the books cache. Upon calling that method for a missing Book, the caches will be updated transparently so that a further call does not invoke the…

How Spring achieves compatibility with Java 6, 7 and 8

Engineering | April 03, 2015 | ...

As of Spring Framework 4.0, Java 8 is supported as a first-class citizen and we've seen some confusion in the Spring community since then. How do we manage to support Java 8 and remain compatible with Java 6 and Java 7 after all? This blog post provides some insight into how we're handling this within the framework codebase.

Java 8 language features vs. Java 8 APIs

First, a distinction must be made between using new language features and new APIs in a given Java generation such as Java 8. If a class uses a Java 8 language feature such as a lambda expression, it has to be compiled with -source 1.8 -target 1.8 and therefore the whole compilation unit will only work on Java 8+. However, if a particular class in a library optionally uses a new Java 8 interface such as java.util.stream.Stream, the library can still run on a previous Java generation as long as it is being compiled with e.g. -source 1.6 -target 1.6 - and as long as the use of that particular

Better application events in Spring Framework 4.2

Engineering | February 11, 2015 | ...

Application events are available since the very beginning of the Spring framework as a mean for loosely coupled components to exchange information. One of the most well known usage of application events is the following:

@Component
public class MyListener 
        implements ApplicationListener<ContextRefreshedEvent> {
  
    public void onApplicationEvent(ContextRefreshedEvent event) {
        ...
    }
}

This allows MyListener to be notified when the context has refreshed and one can use that to run arbitrary code when the application context has fully started.

In Spring Framework…

Spring Framework 4.1.3 released

Releases | December 09, 2014 | ...

On behalf of the team I am pleased to announce the immediate availability of Spring Framework 4.1.3.

Spring Framework 4.1.3 is our third maintenance release in the 4.1.x line and comes with over 50 fixes and improvements. It was initially scheduled for late December but we decided to release it early to incorporate user-suggested and user-contributed improvements right in time for the scheduled Spring Boot 1.2 release this week.

We are still planning on another release later this month (4.1.4) at which point 4.1.x will turn into a maintenance branch, with active development on 4.2 happening on…

Spring Framework 4.1 RC2 Released

Releases | August 15, 2014 | ...

On behalf of the team I am pleased to announce the second release candidate of Spring Framework 4.1 is now available from our milestone repository. This release includes over 70 fixes and improvements.

Spring 4.1 is really coming up soon: please try it out and let us know if you run into any issue. We're looking forward to getting in touch via Twitter, StackOverflow or JIRA.

SpringOne 2GX 2014 is around the corner

Book your place at SpringOne in Dallas, TX for Sept 8-11 soon. It's simply the best opportunity to find out first hand all that's going on and to provide direct feedback. There will…

Spring Framework 4.0.6 Released

Releases | July 08, 2014 | ...

We are pleased to announce that Spring Framework 4.0.6 has just been released and is now available from maven central and repo.spring.io. This is a bugfix and minor enhancement release in the 4.0 series. This release includes nearly 50 bug fixes and improvements and we recommend that all users upgrade.

For a complete list of changes, please refer to JIRA

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