There has been a change to the Spring Boot Initializr. If you haven’t used Spring Boot Initializr before, it is a web-interface to quickly create a new Spring Boot project.

If you don’t know Spring Boot is one of the most popular Java-based framework for building enterprise applications and microservices. You can check out the intro to Spring Boot to get more details.

In this post, we will be looking at the new user interface to initialize Spring Boot applications that has replaced the old one.

Accessing the Spring Boot Initializr

You can still access the Spring Boot Initializr at the same location as earlier. That is, https://start.spring.io

However, now you will be greeted with the below user interface.

spring boot intializr new user interface

For reference, below was the old look. We discussed about it in detail in Spring Boot – A Work of Art.

learning spring boot from beginning

The Good Things

At first glance, things do appear much intuitive in the new user interface from an aesthetic point of view.

On top of the page, we still have the option to choose between Maven and Gradle. The options are provided in the form of tabs instead of a dropdown.

Then, we also have the option of selecting the programming language. As usual, you can choose between options such as Java, Kotlin and Groovy. Here as well, preference has been given to the tabbed approach as compared to dropdown.

In my view, this enhanced user interface is really good. Going for a tab-based approach enhances the look and feel of the site. It also makes it easier to switch options on the fly if you want to.

The Neutral Things

Coming to things where I don’t have any particular view as compared to the old one are the other project details.

You can still select customize the various details such as Group Id, Artifact Name, Description of the Project, Type of Packaging and Java version.

By default, you only see the Group Id and the Artifact Id. But on clicking the More Options button, you can see the other fields mentioned above.

spring boot initializr project details

The Not-So-Good Things

In my opinion, the most controversial change that has been made to the Spring Boot Initializr is with regards to the dependencies section.

The objective of this section is to let developers select dependencies for their project. And even with the new interface, that’s the purpose of this section.

However, the traditional check-box driven approach where you can pick dependencies from a long list has been replaced with a search bar.

For example, if you need web related dependencies, you need to enter “web” in the search-bar. The dependencies related to that particular topic will be listed below from which you can select the appropriate ones.

spring boot intializr dependencies
spring boot intializr dependencies

On face value, all of it works fine. The only downside is that there is no way to access the full list like earlier. Apart from the few suggestions mentioned in the search bar, there is no mention of the many other projects that form a part of the Spring Boot family. For instance, Spring Cloud, Messaging, NoSQL databases and so on.

Now, this is by no means a deal-breaker. Everything still works. You can still get those projects by searching for the relevant term in the search-bar. In fact, the new user interface is a lot more snappy as compared to the old one.

However, it does makes things a tad complicated if you aren’t aware of what dependencies to pick or just want to see all the available options before choosing one.

Usually, new projects will also get added to the Spring Boot family and with the old list-view, it was easier to get to know about them. With this new interface, one needs to rely a lot more on the official docs.

Conclusion

This was my short opinion on the new web-based Spring Boot Initializr. Even though it doesn’t change the functionality, it does a few good things with the interface.

However, there are also a few design choices that might make the task of selecting dependencies a bit more confusing or time-consuming. Now, I don’t know why this decision was made and maybe, things will change in the future.

Nevertheless, Spring Boot remains as one of the best Java Microservices Framework. Building production-ready microservices using Spring Boot is fast and efficient.

So, what do you think about this change? Do you also see an issue? Or have you already found an alternative way to handle things? Sound off your comments in the comments section below.


Saurabh Dashora

Saurabh is a Software Architect with over 12 years of experience. He has worked on large-scale distributed systems across various domains and organizations. He is also a passionate Technical Writer and loves sharing knowledge in the community.

3 Comments

Adrian · April 9, 2019 at 9:35 am

Right under “Dependencies” I have a link “See all”.

Adrian · April 9, 2019 at 9:37 am

Right under “Dependencies” there is a link “Show all”…

    Saurabh Dashora · April 9, 2019 at 1:12 pm

    Hi Adrian,

    Thanks for the comment. Just noticed the button myself. I think it was recently added because it wasn’t there last time I checked.

Leave a Reply

Your email address will not be published. Required fields are marked *