Home » Spring Boot » Spring Boot Introduction

Spring Boot Introduction

Hello welcome to spring boot tutorial. In this tutorial we will discuss about what Spring Boot is and how it can help developers and what are the advantages of using Spring Boot.

Let us consider the scenario of spring base project development before Spring Boot. Suppose you are java developers and your manager asked to develop Spring MVC Rest CRUD application for providing CRUD functionality for backend mysql database. The delivaerables should be in the form of war file and it must be compatible with servers like tomcat, jboss, weblogic etc. So what are the things you have to take care before starting your custom code for the project. You have to take care of following things before starting actual coding.

  • Download Server
  • Download and install MySQL
  • Configure application pom.xml for seperate spring module jars.
  • Configure pom.xml for compatible hibernate dependency.
  • Configure mySQL connector jar in pom.xml.
  • Configure maven pom.xml for other third party open source libraries such as Junit, Apache commons, sfl4j etc.

Now compare your development enviornment setup with real life scenario of driving a car. Below is the steps to drive a car.

  • Get Ready
  • Take Car Keys
  • Start the car and go
  • Obey traffic rules and reach destination.

Thats easy to drive a car without knowing and configuring complex mechanism of the car. The car is a complex machine and it has lot of parts like brake, gear, tyre, engine, steering etc. As a driver its not required you to know how engine works or how gear works or how the tyre rotates. Simply you are using the car as a complete bundle without knowing and cinfiguring internal mechanism of the car.

The developer at springsource started thinking how spring developers has to work hard to setup the development environment before starting actual application coding. Why Spring development cannot be like driving a car. Folks at Springsource and pivotal thinked similarly and result is Spring Boot.Spring boot is rapidily growing software stack from Pivotal for spring related application development.Spring Boot is a Framework that will ease the bootstrapping and development process of Spring related Applications.

What is Spring Boot?

Spring Boot is the next generation of Spring Framework to make Spring application development easier. For Spring Boot, Spring configuration are minimized. Spring Boot supports embedded containers in allowing web applications to be able to run independently without deploying on Web Server. Spring boot will ease the bootstrapping and development of Spring Applications.

Features of Spring boot:

  • Tremendosly easy to create stand-alone production grade applications.It reduces lot of development time and increases productivity.It provides a lot of default configurations which help you to create Spring application faster.
  • Auto-Configuration -Create and run your application with just an annotation. No need to manually configure dispatcher servlet, static resource mappings, property source loader, message converters etc.
  • Advanced Externalized Configuration - There is a large list of bean properties that can be configured through application.properties or application.yml file without touching java or xml configuration.
  • Runnable Jars - We can package your application as a single runnable jar.
  • It provides Embedded HTTP servers like Tomcat, Jetty etc. to develop and test our web applications very easily.
  • Production support- We get health checking, application and jvm metrics, jmx via http and a few more things for free by using spring boot actuator.

Development Tools

To create a Spring Boot application following tools are required.

  • Java 1.8
  • Gradle or Maven
  • Spring Tool Suite(STS) or Spring Boot CLI

Please note, we have to use either Maven or Gradle build tool to work with Spring Boot. In this tutorial Series, we will use Spring Tool Suite IDE and Maven as dependency management tool.

In the next article I will discuss about how to configure Spring Boot Development Environment Setup.

Previous Next Article