Disadvantage of Spring Boot No Control Generally, the development file size of Spring boot is larger due to its design. The developers have no control over the file size. The design of Spring boot adds needless dependencies which is mostly unused. All these excess dependencies increase the binary size of applications. 2. Large Scale Project Support Spring boot is built focusing on micro services. In fact, it works seamless on these applications. However, they are not recommended to be used in large monolithic applications. Monolithic applications typically consist of a client-side UI, a database, and a server-side application. Developers build all of these modules on a single code base. On the other hand, in a distributed architecture, each microservice works to accomplish a single feature or business logic. Basis Spring Spring Boot Use For building or developing applications, the Spring framework is considered to be the most widely used Java EE framework. For developing REST APIs Spring Boot framework is widely used. Advantage Developers have become more productive as this framework has made Java EE development is simple. It is the easiest framework for developing web applications as the code length is reduced when using this framework. Key or Primary Feature Dependency Injection Autoconfiguration : Based on the requirement, the classes are automatically configured by Spring Boot. Developing Applications This framework helps make things simpler by allowing us to build loosely coupled applications. Stand-alone applications can be built using this Spring Boot framework with minimal or fewer configurations. Boilerplate Code For doing a minimal task, the developer needs to write a huge amount of code or, more specifically, boilerplate code. The boilerplate code is reduced to an extent if we use Spring Boot. Server The server needs to be set up explicitly for the testing purpose of the Spring Project. Embedded servers like Jetty, Tomcat, etc., are offered by the Spring Boot framework. Database This framework does not provide in-memory database support. It offers several plugins for working with an embedded and in-memory database such as H2. Dependencies In pom.xml, the dependencies of our Spring project are manually defined by the developers. There is a concept of starter in the pom.xml file of our Spring Boot which is used for internally taking care of downloading Dependency JARs based on the Spring Boot Requirement. Need of Deployment Descriptor Deployment descriptor is required for running Spring applications. Deployment descriptor is not required for Spring Boot. Configurations In the Spring framework, the configurations need to be built manually. For Spring Boot, there are default configurations for which faster bootstrapping is allowed. Testing Due to a large amount of source code, testing in Spring is more difficult than testing in Spring Boot. Due to the reduced amount of code, testing is easier in Spring Boot. XML Configuration In Spring, XML configuration is required. In Spring Boot, XML configuration is not required. Plugins No plugin is provided by the Spring framework. For Maven and Gradle build tool, plugins are provided by the Spring Boot. The plugins provide various features, including the packaging of the executable jars. CLI Tools For developing and testing applications, no CLI tool is provided by Spring Framework. Spring Boot provides the CLI tool for developing and testing applications. HTTP Authentication HTTP authentication enables security authentication. Several configurations and dependencies are needed to enable security. The standard dependencies spring-security- config and spring-security-web are required to set up security in the application. For the next step, a class that extends WebSecurityConfigurerAdapter needs to be added. Only the dependency of spring-boot-starter-security is needed to be defined because all the relevant dependencies will be automatically added to the classpath .