Skip to content

Spring Boot 2.0.0 M2 Release Notes

Phillip Webb edited this page Nov 13, 2024 · 1 revision

Spring Boot 2.0.0 M2 Release Notes

For changes in earlier milestones, please refer to:

Upgrading from Spring Boot 2.0.0 M1

See instructions in the 2.0.0.M1 release notes for upgrading from Spring Boot 1.5.

Default connection pool

The default connection pool has changed from Tomcat to Hikari. If you are using Hikari in an environment where tomcat-jdbc is provided, you can now remove the spring.datasource.type override. Similarly, if you want to stay with the Tomcat connection pool, simply add the following to your configuration:

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource

Status code for POST on /loggers

The return status code for post operations on the /loggers endpoint has changed from 200 to 204.

Elasticsearch

Elasticsearch has been upgraded to 5.4. In line with Elastic’s announcement that embedded Elasticsearch is no longer supported, auto-configuration of a NodeClient has been removed. A TransportClient can be auto-configured by using spring.data.elasticsearch.cluster-nodes to provide the addresses of one or more nodes to connect to.

New and Noteworthy

Tip
Check the configuration changelog for a complete overview of the changes in configuration.

Quartz Scheduler

Spring Boot 2 provides support for the Quartz scheduler that can be used via the spring-boot-starter-quartz dedicated starter. Both in-memory and jdbc stores can be configured.

Spring Data Web configuration

Spring Boot exposes a new spring.data.web configuration namespace that allows to easily configure paging and sorting.

Json starter

A new spring-boot-starter-json starter gathers the necessary bits to read and write json. It provides not only jackson-databind but also useful modules when working with Java8: jackson-datatype-jdk8, jackson-datatype-jsr310 and jackson-module-parameter-names.

This new starter is now used where jackson-databind was previously defined.

Thymeleaf starter

The Thymeleaf starter now includes thymeleaf-extras-java8time out of the box.

InfluxDB

If the InfluxDB java client and the spring.influx.url is set, an InfluxDB client is now automatically configured. Support for credentials is available as well.

JdbcTemplate

The JdbcTemplate that Spring Boot auto-configures can now be customized via the spring.jdbc.template namespace. Also, the NamedParameterJdbcTemplate that is auto-configured reuses the JdbcTemplate behind the scenes.

jOOQ

Spring Boot detects the jOOQ dialect automatically based on the DataSource (similarly to what is done for the JPA dialect).

Also a @JooqTest has been introduced to ease testing where only jOOQ has to be used.

@DataRedisTest

A new slice annotation for Redis is available.

Mongo client customizations

It is now possible to apply advanced customizations to the Mongo client that Spring Boot auto-configures by defining a bean of type MongoClientSettingsBuilderCustomizer.

Cassandra

The spring.data.cassandra now exposes pooling options.

Kafka listener types

It is now possible to create a batch listener to consume a list of ConsumerRecord at once:

spring.kafka.listener.type=batch

Web filters initialization

Web filters are now initialized eagerly on all supported containers.

Auto-configuration report

Unconditional classes are included in the response from the autoconfig Actuator endpoint.

Reset logger operation

The Loggers endpoint allows to reset a logger level to its default.

Clone this wiki locally