Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Spring Boot 1.3 Release Has New Dev Tools, Caches, and Annotations

DZone's Guide to

Spring Boot 1.3 Release Has New Dev Tools, Caches, and Annotations

The latest release of Spring Boot has new tools for developer productivity as well as support for more auto-configurations, caches, and annotations.

· Java Zone
Free Resource

Learn how to troubleshoot and diagnose some of the most common performance issues in Java today. Brought to you in partnership with AppDynamics.

One behalf of the Spring Boot team, and everyone that has contributed, I am pleased to announce that Spring Boot 1.3.0 has been released and is available now from repo.spring.io, Maven Central and Bintray. This release adds a significant number of new features and improvements and builds on the latest release of the Spring Framework. For full upgrade instructions and “new and noteworthy” features please see the release notes.

Here are some of the highlights of v1.3:

Developer Tools

A new spring-boot-devtools module has been added which aims to improve the development-time experience. The module provides:

  • Sensible property defaults (for example disabling template caches)
  • Automatic application restarts
  • LiveReload support
  • Remote development support (including remote updates and remote debug via an HTTP tunnel).
  • Persistent HTTP sessions across restarts

If you’ve got 10 minutes to spare, here’s a short introductory video.

Caching Auto-configuration

We now provide auto configuration for Ehcache, Hazelcast, Infinispan, JCache (JSR 107) implementations, Redis and Guava.

In addition, simple Map based in-memory caching is also supported

Fully executable JARs and Service Support

The Maven and Gradle plugins can now generate fully executable archives for Linux/Unix that can be run by just typing:

$ ./myapp.jar

Even better, they work as init.d or systemd services. To install as an init.d service just create a symlink:

$ sudo link -s /var/myapp/myapp.jar /etc/init.d/myapp

Color Banners

Your banner.txt files can now include ANSI color codes. You can do crazy things like this:

Color Banner

Support for @WebServlet, @WebFilter and @WebListener Annotations

When using an embedded servlet container, automatic registration of @WebServlet, @WebFilter and @WebListener annotated classes can now be enabled using @ServletComponentScan.

Additional Auto-configurations

Out-of-the-box auto-configurations are now provided for:

  • Cassandra
  • OAuth2
  • Spring Session
  • jOOQ
  • SendGrid
  • Artemis

Actuator Metrics

Metrics support has been extended to support export and aggregation. In addition, Java 8 specific GaugeService and CounterService implementations are now provided (and used when possible) which offer improved performance.

Update Endpoints and Health Indicators

We now include /logfile, /flyway and /liquibase actuator endpoints as well as support for Elasticsearch, Email and JMS health indicators.

Other Changes

There’s a whole host of other changes and improvements that are documented in the Release Notes. You can also find a list of deprecated classes and methods that we plan to remove in the next version.

Thanks so much to everyone that has supported Spring Boot. This release alone has seen 128 contributors join the effort. 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 at stackoverflow.com using the spring-boot tag.

Finally, if you’ve yet to see Spring Boot in action, you might want to check out this Devoxx talk by Stéphane Nicoll and Brian Clozel.

Understand the needs and benefits around implementing the right monitoring solution for a growing containerized market. Brought to you in partnership with AppDynamics.

Topics:
spring boot ,spring ,java

Published at DZone with permission of Phil Webb. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}