Register now or log in to join your professional community.
Spring
Spring framework is a Injection dependency framework at first targeting managing life-cycle of Java components (beans). Today, Spring framework is pretty bloated with tons facilities/helpers on top of it. But if you look at the big picture, it is still a framework that glue things together, a middle man to MVC frameworks (Struts 1,2, JSF etc), ORM frameworks (Hibernate, iBatis, JOOQ etc) and other necessary facilities (Quartz, Email, you can tell, whatever you need, most likely, there's a Spring support). It takes quite a lengthy tutorial to set Spring framework up and running because Spring framework nature is to provide flexibility of choices to you.
Spring boot on the other hand is built on a totally different mantra. It's basically a suite, pre-configured, pre-sugared set of frameworks/technologies to reduce boiler plate configuration providing you the shortest way to have a Spring web application up and running with smallest line of code/configuration out-of-the-box. As you can see from there Spring Boot page, it took less than 20 lines of code to have a simple RESTful application up and running with almost zero configuration. It definitely has a ton of way to configure application to match your need.
Assuming you know what spring is you're only interested in how it defers from spring boot.Much like the spring framework does to JEE, that is simplifying the development of enterprise application by reducing boilerplate and repetitive application code, spring boot does the similar thing by reducing boilerplate configuration, spring boot does this by providing a set of opinionated configuration for different technologies hence it significantly reduce the time you need to setup and launch your application
Spring is an Application Development frameworks with some advanced modules to create different type of software applications. Important Spring modules are : SpringCore, Spring MVC, Spring JDBC, Spring AOP and some others.
Spring boot App is a Spring Application Project which comes as pre-congured based on type of project and dependencies found in the project class path
With Spring will provide server and extra dependency manually. but in spring boot tomcat server and dependency will take automatically.
Spring Boot is a framework for packaging the spring application with sensible defaults You are developing a web application using Spring MVC, Spring Data, Hibernate and Tomcat. How do you package and deploy this application to your web server. As of now, we have to manually write the configurations, XML files, etc. for deploying to web server.
Spring Boot does that for you with Zero XML configuration in your project. Believe me, you don't need deployment descriptor, web server, etc. Spring Boot is magical framework that bundles all the dependencies for you. Finally your web application will be a standalone JAR file with embeded servers.
Spring MVC is a sub-project of the Spring Framework, targeting design and development of applications that use the MVC (Model-View-Controller) pattern. Spring MVC is designed to integrate fully and completely with the Spring Framework and transitively, most other sub-projects.