Recently updated over the last few months, Spring Initializr is an open-source, web-based tool that allows you to quickly create complex software programs within Spring Boot programs. Starting as a minimal HTML form to generate Spring Boot applications, Spring Initializr is now a popular service and library, containing project generation logic and web API.
Spring Initializr allows developers to create Quickstart projects using a configurable service. Developers can construct projects with simple HTTP. If you’re writing your web UI or working on core changes to a project, Spring Initalizr is a great tool to use.
The following updates recently released as a direct result of user feedback.
As a new feature, the project explorer gives developers the ability to look at the contents of a project within a browser. It sneaks peek is way more convenient as it allows you to look at project files without having to download them, unzip everything, and store multiple versions of your project on your computer. With this new functionality, you can now review how various programming choices impact the outcome of the soon-to-be project. You can also easily compare project elements with any currently in existence.
- The project generation API has been refactored and redesigned to make it easier to customize Spring Initalizr. Previously, a developer would have to fork the library to do this, creating a cumbersome experience. Addressing this, the Spring team created new abstractions and callback interfaces. “For example, the new BuildCustomizer interface can be used to customize a Build, one of the recently introduced abstractions, to add additional dependencies, plugins, or other custom build behavior,” says Dustin Schultz from InfoQ. Abstractions include a:
- Build abstraction
- Language abstraction
- High-level model for text resources
Abstractions are available through several hook points that allow developers to customize project assets.
This particular update enables developers to define customizers in external modules without having to change the library, similar to the auto-configurations in Spring Boot.
User interface refresh
A much need freshening up of the UI interface has also taken place. The new UI places functional features into a single column, replacing the previous two-column design. It improves the results of a search, with more helpful results descriptions thanks to improved metadata for dependencies. While the form looks simplistic, it stays true to the tool’s original purpose of, “quickly bootstrapping a Spring Boot application that just runs,” according to Spring. Even with the update, developers should know what type of application they want to build before they begin creating a project.
In addition to the entire tool getting updates, those specific to start.spring.io include:
- The addition of a HELP.md file at the root of a project that’s tailored to the dependencies found in the application. Currently, the help documents included within the file are more general, but future updates will customize this feature even more to provide specific help.
- A build configuration that connects projects built with the Restdocs dependency.
- A directory structure for projects using Flyway is now automatically created.
The importance of user feedback
As can be seen with the latest set of updates for Spring Initializr, user feedback has a definite impact on how any resource develops. If allowed to share your opinions on how an application, program, or piece of software works for you, don’t hesitate to speak up. Your feedback can make a difference, especially when coupled with like-minded users also sharing their opinions.
It helps companies prioritize updates and changes to give their users the best product. Spring is one of the many companies that understand the importance of collecting this type of data. Even with the recent update still feeling new, they’re still looking to hear what their users are saying by keeping an anonymous survey open for you. Hire Java Developers to create Quickstart projects using a configurable service.