Spring Boot is so popular because of broadly use framework and also support almost all Java related technologies. It also help to develop scalable microservices with less configuration and fast deployments over the cloud. Spring boot can also be used for developing a broad variety of other type of applications:
- MVC Web applications
- Reactive Web Applications
- Serverless Applications
- Asynchronous Applications
- Mobile Backends
- And Many more
- Spring Boot Overview
- Why Spring Boot?
- Spring Framework Features
- Spring Boot Advantage & Disadvantage
- Spring Vs Spring Boot
- Spring Boot Properties
Spring Boot Features
Spring Boot having so many good features as follows which makes broadly use and popular.
Spring Boot made dependency management easy by using the Spring Boot Starters which include all the required third party dependencies with compatible version of jars based on Spring Boot version.
Ex: Most frequently use Spring Boot Starters are as follows (spring-boot-starter-web, spring-boot-starter-data-jpa, etc.)
Suppose you need to work on Web application use the spring-boot-starter-web then all set for your web application development.
Spring Boot auto configure the required properties with default values based on selected Spring Boot Starters. In case you need to want change default values you can override through application.properties or application.yaml.
- Suppose , You have selected the spring-boot-starter-web the default tomcat start port is 8080, in case you want to change then override the property server.port=9080 in application.proprties now tomcat will start on port 9080.
- Suppose , You have selected the spring-boot-starter-data-jpa the default database is H2 and driver will automatically configure with default properties. In case , you want to go with another database then add dependency in pom.xml and required properties in application.properties/ application.yaml.
Note: You can also disabled the auto configuration of Spring Boot, refer post Spring Boot Auto Configuration.
Built-in Web Server
All the Spring Boot application comes with embedded tomcat server so that you can build application in form executable Uber jar with all dependencies and execute by just one click on jar.
In case, you want to use the external HTTP/web server then exclude the default dependencies and configure the application WebInitializationContext.
Microservice Development Made Easy
You can package an application into a standalone uber .jar with a full Tomcat container embedded. This feature was borrowed from the Play framework’s application deployment model (though, Spring Boot can also create traditional .war files). This packaged approach of build in stand alone jar or war makes installing and deploying software much easier.
Spring Boot speed up the Microservices Unit and Integration testing by configuring the spring-boot-starter-test and also provide the testing annotation as @SpringBootTest to simplified the test cases.
No Code Generation
Spring Boot makes developer life easy to reduce the boiler plate code and make dependency management and auto configuration by Spring Boot Starters. It also reduce the effort of writing queries, database connection handling etc.
Ex: Use @Repository Annotation and create interface for Entity with extended JPARepository or CrudRepository . It will takes care of all required method no need to write any query.
No XML Generation
Spring Boot provide the Stereo Annotations which makes developer life easy for creating XML beans based configuration and handling scoped. Spring Boot take care of all these dependencies related things by simplified annotations.
Ex: @SpringBootConfiguration, @Component, @ComponentScan, @Configuration, @ Repository etc.
- Spring Boot Annotations List
- Spring Core Annotations List
- Spring Core Annotations List
- Spring Scheduling Annotations List
- Spring Web and REST Annotations List