In the current post, we will learn the @SpringBootApplication annotation usage and example. As we know that, we are using @ComponentScan, @Configuration and @EnableAutoConfiguration annotations for main class of spring class to enable the spring features.
In spring boot, We will use the @SpringBootApplication annotation in our Application or Main class to enable a host of features, e.g. Java-based Spring configuration(@Configuration), component scanning(@ComponentScan), and in particular for enabling Spring Boot's auto-configuration feature.
In Spring applications, we can use the following annotations as mentioned earlier,
In short, I will explain the usage of @SpringBootApplication annotation,
The @SpringBootApplication annotation is a combination of following three Spring annotations and provides the functionality of all three with just one line of code.
@SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiguration
In spring boot, We will use the @SpringBootApplication annotation in our Application or Main class to enable a host of features, e.g. Java-based Spring configuration(@Configuration), component scanning(@ComponentScan), and in particular for enabling Spring Boot's auto-configuration feature.
In Spring applications, we can use the following annotations as mentioned earlier,
- @Configuration to enable Java-based configuration
- @ComponentScan to enable component scanning.
- @EnableAutoConfiguration to enable Spring Boot's auto-configuration feature.
In short, I will explain the usage of @SpringBootApplication annotation,
The @SpringBootApplication annotation is a combination of following three Spring annotations and provides the functionality of all three with just one line of code.
@SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiguration
Sample Spring boot main class example,
package com.example.springbootapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
In Spring Application, we can use @ComponentScan("com.example") annotation to scan the component as mentioned in argument i.e com.example.
In Spring boot, you can override, with the @SpringBootApplication, the default values of component scan. You just need to include it as a parameters,
@SpringBootApplication(scanBasePackages = "com.example")
or String array(comma separated)
@SpringBootApplication(scanBasePackages = {"com.example", "com.main"})
Example:-
package com.example.springbootapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = "com.example")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
In the upcoming posts, we will learn few more Spring boot annotations and examples.
Thank you for visiting blog.
Have a great day.
Related Posts:--
1) Explain advantages of Spring Boot
2) Causes and Solution of NoSuchBeanDefinitionException in Spring
3) Cause and solution of LazyInitializationException in Hibernate
Thank you ever so for you article.Much thanks again. Want more.
ReplyDeletesalesforce billing course online
learn salesforce billing online