Spring Boot 1.0 Launches
The Spring team at Pivotal has announced the 1.0 release of its Spring Boot rapid application development framework.
The "convention-over-configuration centric framework" launched April 1, and was followed by a quick bug-fix release (1.01). The latest version is available now on the Maven Central and repo.spring.io repositories.
Spring Boot is designed to be "a radically faster and widely accessible" means of getting started with Spring development. It's designed make it easy to create stand-alone, production-grade Spring-based applications that "just run" with little Spring configuration. It allows Java developers to create apps that can be started using java -jar or more traditional war deployments. And there's a command line tool that runs spring scripts.
Spring boot is "opinionated" out of the box, which means that it encourages specific practices to increase ease of development.
"Spring Boot brings a coding approach that you might associate more with single purpose frameworks or dynamic languages that almost eliminates boilerplate code and configuration work," Pieter Humphrey, consulting product marketing manager at Pivotal, explained in an earlier interview. "Historically Java developers have to spend a fair amount of time -- compared with what they'd rather be doing: coding business logic -- setting up a servlet environment or a server or whatever. Spring Boot takes an opinionated approach and makes a lot of assumptions that get developers coding quickly with something that they can override later. The idea is to get them off and running very quickly."
The Spring team adds in its documentation that, even though it's opinionated, Spring Boot "gets out of the way quickly as requirements start to diverge from the defaults."
The Spring Boot project grew out of a community request submitted approximately 18 months ago (SPR 9888) to "improve 'containerless' Web application architectures."
In his blog post announcing the release, Spring Boot Co-Creator Phil Webb asks and answers the question, why containerless? "…Today's PaaS environments provide much of the management, scale out, and reliability features already, so we focus on making spring boot an ultralight container, great for application or service deployment in the cloud," he wrote. He also provided code for a "Hello World!" Web app that can be run using the CLI tool, which uses the Groovy language to compile code. "You are of course also free to use the Spring Boot libraries directly with Java, or any other JVM based language, to write your applications," he added.
Along with the bug fixes, Spring Boot 1.0.1 includes a security bug-fix for the Actuator. The Boot team advises anyone using Spring Security and the Actuator endpoints to upgrade, and adds that backwards compatibility problems or changes to existing functionality are anticipated.
Pivotal's effort to speed and simplify Spring Framework setup and development was first announced at SpringOne2GX in 2013. The company, an EMC spinoff that took over the Spring products line, made the announcement as part of a larger plan to create the Spring IO platform, which would provide a kind of Eclipse Release Train model for annual, synchronized releases of all Spring projects.
The Spring Framework is one of the most popular Java application frameworks on the market today. It's a layered Java/J2EE framework based on code published in Johnson's book Expert One-on-One Java EE Design and Development (Wrox Press, October 2002). He also wrote the first version of the framework.
A Spring Boot Reference Guide -- authored by the members of the Boot team, including Webb, Dave Syer, Josh Long, Stéphane Nicoll, and Rob Winch -- is available online.