What is Spring Boot?
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.
You can use Spring Boot to create Java applications that can be started using java -jar or more traditional war deployments.
Advantages of spring boot application?
Provide a range of non-functional features that are common to large classes of projects (e.g. embedded servers, security, metrics, health checks, externalized configuration).
Opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss
Absolutely no code generation and no requirement for XML configuration.
Provide a radically faster and widely accessible getting started experience for all Spring development.
Spring boot System requirements?
Spring Boot 1.5.9.RELEASE requires
Java 7 +
Spring 4.3.13 +
For build support
Jetty 8+ (Jetty 9.3 requires JDK 8 +)
Use of @EnableAutoConfiguration annotation?
This annotation tells Spring Boot to “guess” how you will want to configure Spring, based on the jar dependencies that you have added.
What is Spring Boot Starter?
Spring Boot provides a number of “Starters” that make easy to manage dependencies for your project.
What is spring-boot-starter-parent?
The spring-boot-starter-parent is a special starter that makes Maven or Gradle dependency-management easier by adding jars to your classpath.
What is spring-boot-starter-web?
This starter will add Tomcat and Spring MVC dependency to our application and its default configuration
How to create an executable jar using spring boot?
Add this below plugin to pom.xml
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
Use mvn clean package to create executable jar file
How do you run and stop spring boot executable jar?
Open cmd or shell window and use java -jar as shown below
$ java -jar myproject-0.0.1-SNAPSHOT.jar
To stop use ctrl+C
How do you change JDK version in spring boot?
Java 1.6 as the default compiler level.
You can overwrite it by adding java.version property tag as shown below
<properties> <java.version>1.8</java.version> </properties>
How to disable specific auto-configuration in spring boot?
You can use exclude property as shown below to disable specific auto configuration
What is the use of @SpringBootApplication annotation?
The @SpringBootApplication annotation is equivalent to using @Configuration, @EnableAutoConfiguration and @ComponentScan with their default attributes
Since many spring Boot developers have their main class annotated with @Configuration, @EnableAutoConfiguration and @ComponentScan, spring boot provides you a new annotation @SpringBootApplication as replacement.