Welcome to Spring Boot Tutorial. Spring Boot is a completely new project from Pivotal Team(The Spring Team). It is a Framework developed on top of existing Spring Framework.
Spring Boot uses completely new development model to make Java Development very easy by avoiding some tedious development steps and boilerplate code and configuration.
Spring Boot is a Framework from “The Spring Team” to ease the bootstrapping and development of new Spring Applications. It provides defaults for code and annotation configuration to quick start new Spring projects within no time. It follows “Opinionated Defaults Configuration” Approach to avoid lot of boilerplate code and configuration to improve Development, Unit Test and Integration Test Process.
Spring Boot Framework is not implemented from the scratch by The Spring Team, rather than implemented on top of existing Spring Framework (Spring IO Platform). It is not used for solving any new problems. It is used to solve same problems like Spring Framework.
Don’t worry about what is “Opinionated Defaults Configuration” Approach at this stage. We will explain this in detail with some examples in coming posts.
In Simple Terminology, What Spring Boot means That means Spring Boot is nothing but existing Spring Framework + Some Embedded HTTP Servers (Tomcat/Jetty etc.) - XML or Annotations Configurations. Here minus means we don’t need to write any XML Configuration and few Annotations only.
The main goal of Spring Boot Framework is to reduce Development, Unit Test and Integration Test time and to ease the development of Production ready web applications very easily compared to existing Spring Framework, which really takes more time.
By providing or avoiding these things, Spring Boot Framework reduces Development time, Developer Effort and increases productivity.
Spring Boot Framework has one limitation. It is some what bit time consuming process to convert existing or legacy Spring Framework projects into Spring Boot Applications but we can convert all kinds of projects into Spring Boot Applications. It is very easy to create brand new/Greenfield Projects using Spring Boot. To Start Opinionated Approach to create Spring Boot Applications, The Spring Team (The Pivotal Team) has provided the following three approaches.
We will discuss one by one in detail with some good examples in coming posts. We can find Spring Initializr Website at: https://start.spring.io/ We can develop two flavors of Spring-Based Applications using Spring Boot
We can use Spring Boot CLI or Spring STS IDE or Spring Initializr Website to develop Spring Boot Groovy Applications. However, we can use Spring STS IDE or Spring Initializr Website to develop Spring Boot Java Applications. Anyhow, Groovy is also JVM language almost similar to Java Language. We can combine both Groovy and Java into one Project. Because like Java files, Groovy files are finally compiled into *.class files only. Both *.groovy and *.java files are converted to *.class file (Same byte code format). Spring Boot Framework Programming model is inspired by Groovy Programming model. Spring Boot internally uses some Groovy based techniques and tools to provide default imports and configuration. Spring Boot Framework also combined existing Spring Framework annotations into some simple or single annotations. We will explore those annotations one by one in coming posts with some real-time examples. Spring Boot Framework drastically changes Spring-Java Based Applications Programming model into new Programming model. As of now, Spring Boot is at initial stage only but future is all about Spring Boot only. Happy Spring Boot Framework Learning!
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Awesome tutorial. You could have kept “Next” button after each and every tutorial to learn the technology in a sequence manner. This helps us a lot… Thanks man :)
- venkat
Awesome tutorial for introduction of spring boot and ease to understand Its helpful to us if you provide more tutorials
- venkatesh
I like this tutorial, but you misspoke when you say it’s to reduce the time compared to Spring framework. The goal is to reduce time compared to ALL technologies (on the JVM, in the Ruby or Node.js or .NET landscapes, etc.). In this, we have succeeded. :)
- Josh Long
I don’t agree that it takes a long time to convert to convert existing apps to Spring Boot. I have converted regular Spring 3.x apps (3 Spring applications) to Spring boot and it was just matter of 1-2 hours. These apps were fairly complex. one thing we followed throughout the lifecycle of pre-spring boot were to completely shun XML based configuration and that really reduced our conversion time. Moreover I have also converted few Play framework 2.4 based apps to Spring Boot and that was a little big undertaking ~3 days. But it was still worth in my opinion.
- Sachin Walia
Its good but if write own tutorials with real time example its beneficial for all but thanks to give overview about the new technology .
- Maqbul FIda Hussain
Hi i am looking for sample spring boot rest service with method interceptor implementation. I tried a lot…but no success.
- Venkatesh Dorai
Hi, My application using spring mvc, spring data jpa, mysql. I have a problem with data flow in my app… In the controller I am taking some model from DB, then I pass it to view - here some fields are shown (not all of them), and the user is able to modify them… Then when he submits form, the controller should update the model in db. The problem is flow, because not all of the fields are in tags, so they won’t pass after submiting the form… There are two solutions I found, One is to create additional tags with all of the fields, which are not used in to pass them forward… But in case I have many fields, for example - 30, I would have to create a lot of hidden fields… Second one is, Using @SessionAttributes & SessionStatus.isComplete(). In this way suppose user not called save action & navigates the another page in edit mode then Will the model stay in the session forever? Will it ever get cleaned out, or will the session keep growing larger and larger as the user navigates the site? What solution do you think would be the best? Code : @RequestMapping(value = “/edit/{id}”, method = RequestMethod.GET) public String editGuest(@PathVariable Long id, Model model) { model.addAttribute(“guest”, guestService.getById(id)); return “guest/new”; } @RequestMapping(value = “/”, method = RequestMethod.POST) public String saveGuest(@Valid Guest guest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return “guest/new”; } Guest savedGuest = guestService.save(guest); return “redirect:/guests/show/” + savedGuest.getId(); }
- balaji
Really Nice article, thanks for that. Just have 1 question when it says: It avoids writing lots of boilerplate Code, Annotations and XML Configuration. What to do with Annotations here, as per my understand writing of Annotations are same in SpringBoot as Sprig framework. Please correct me.
- Pratik
Hi Rambabu, I developed one application using spring boot when i am deployed in tomcat 6 it is not working,when it was deployed in tomcat 7 its working. Can you tell me is it any configuration required for deploying in Tomcat?? Regards Siva
- Siva
Hi Rambabu, Its a nice introduction to springboot,I am developing a website to my department.my question is that,where i would place the html content(UI) like web content in those application.pls help Regards, Sai VIjay
- Sai Vijay
hi … i have installed STS from eclipse market place…i am using Eclipse Luna. When i create a new project-> spring starter project It is giving me error that M2e connector is not installed. before Installing STS , maven was there, but after installing it just vanished frm my system… I hv even downloaded m2e connectors from market place… stl no success. please help
- muff
Very nice way to make clear concept for those who really wish to learn SpringBoot. i love this …
- shangay lama
very good introduction on spring boot to start with. Love to see more articles on this concept.
- Srao
Hi ,Did you done with Spring Microservices with spring boot ? am looking for it .
- Abhijeet Deshmukh
It is very helpful to learn about Spring Boot. Clearly mentioned each point. Thank you so much…
- Laxmi
Nice tutorial o spring boot … After going through it , having a overview of Spring boot Expecting more concept on it as it suggest how to develop but unable to understand how it works internally… it will be good if share more knowledge on theory and concept of this Spring boot topic
- Saurabh
Hi Pankaj, Please help out on how to deploy springboot application in IBM websphere Thanks in advance Regards, R Sridhar
- sreedhar
Very Very good Explanation . A Basic Of Spring Boot in a simpler fashion. Nice Job Man
- Inderjeet Singh
Hi there! I wanna thank you a lot for this tutorial. It was so great. It helped me so much. But I have one question. Which version of spring boot did you talk about? Is the version matter? or all are the same at this point? Thanks Have nice
- Nahid
Thanks for nice post. But one thing Spring Boot really a Frame work on top of Spring Frame work. Or it’s a way to create spring application in java and Groovy languages same as spring with zero or minimal configurations.
- Tamsheel Khan
Spring boot is not a framework. It is built on top of Spring framework to avoid manually writing the configurations and boilerplate code. This is my understanding. Please feel free to correct me.
- Anji
Great article for the beginners, if any one wants a complete and professional Spring boot Application based on Spring Boot 2, Spring MVC5, Gradle 5, JUnit 5, Mockito, Exception Handling all in one, and many more, get it on github(https://github.com/MFaisalHyder/spring-boot-app). Kindly fork it, star it and do make pull requests to make it even better :) World needs more people like you to help open source community ! :)
- Faisal
very good tutorial for spring boot beginners but you should add more detailed information about spring boot.
- ashish gupta
Nice explanation! Disadvantages of micro services is not mentioned elaborately. Can you post the disadvantages of micro services.
- SHARATH KUMAR
Spring is widely used for creating scalable applications. For web applications, Spring provides Spring MVC which is a widely used module of spring which is used to create scalable web applications. It is an amazing tool that helps you to get enterprise-grade applications up and running quickly without having to worry about configuring your application correctly and safely.
- Shivam Verma
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.