What is Spring Boot?
Spring Boot is a widely used Java framework that simplifies enterprise application development. Whether you’re a fresher or an experienced developer, preparing for Spring Boot interviews requires a solid understanding of core concepts, annotations, configurations, and real-world use cases. This comprehensive guide covers the top 30 Spring Boot interview questions, expert answers, practical examples, and key insights to help you crack your next interview.
📘 Top 30 Spring Boot Interview Questions and Answers
1. What is Spring Boot?
- Spring Boot is a framework that simplifies the setup, development, and deployment of Spring applications by eliminating boilerplate code and configurations.
2. What are the main features of Spring Boot?
Auto Configuration
Embedded Servers
Spring Initializr
Production-ready features (e.g., health checks via Actuator)
3. What is the difference between Spring and Spring Boot?
| Spring | Spring Boot |
|---|---|
| Requires manual configuration | Offers auto-configuration |
| Needs external server setup | Includes embedded servers |
| XML or Java-based config | Minimal config using annotations |
4. How does Spring Boot handle dependencies?
- Using Spring Boot Starters, which are dependency descriptors that group common dependencies for specific functionality.
5. What is a Spring Boot Starter?
- A starter is a pre-defined Maven/Gradle dependency set that simplifies the inclusion of libraries. Example:
spring-boot-starter-web.
6. What is the use of the @SpringBootApplication annotation?
- It is a convenience annotation that combines:
@Configuration@EnableAutoConfiguration@ComponentScan
7. Explain auto-configuration in Spring Boot.
- Spring Boot automatically configures beans based on the classpath and defined beans, reducing the need for manual setup.
8. How to disable a specific auto-configuration?
- Use the
excludeattribute in@SpringBootApplication:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
9. What is the role of application.properties or application.yml?
- They are used to define configuration parameters for your Spring Boot application, such as port, datasource, logging, etc.
10. How do you change the default port of a Spring Boot application?
- Set the following in
application.properties:
server.port=8081
🛠️ 10 Practical Examples in Spring Boot
Example 1: Hello World REST API
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
Example 2: Custom Port Configuration
application.properties
server.port=9000
Example 3: Spring Boot with MySQL
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=pass
Example 4: Logging Configuration
logging.level.org.springframework=DEBUG
Example 5: CommandLineRunner Example
@Bean
public CommandLineRunner run() {
return args -> System.out.println("Spring Boot App Started");
}
Example 6: Scheduling a Task
@EnableScheduling
public class Scheduler {
@Scheduled(fixedRate = 5000)
public void task() {
System.out.println("Running every 5 sec");
}
}
Example 7: Using Spring Boot DevTools
Add in pom.xml:
org.springframework.boot
spring-boot-devtools
Example 8: REST Exception Handling
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity handle(Exception ex) {
return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST);
}
}
Example 9: Spring Boot Validation
public class User {
@NotNull
private String name;
}
Example 10: Spring Boot Security
org.springframework.boot
spring-boot-starter-security
❓ FAQs: Spring Boot Interview Questions
Q1. What is Spring Boot CLI?
- Spring Boot CLI (Command Line Interface) allows you to run and test Spring applications from the terminal using Groovy scripts.
Q2. Can you use Spring Boot with microservices?
- Yes, Spring Boot is commonly used with Spring Cloud to build and manage microservices architectures.
Q3. How does Spring Boot handle JSON responses?
- Spring Boot uses Jackson to automatically serialize Java objects to JSON when returning responses from REST controllers.
Q4. What is Spring Boot Actuator?
- A module that provides production-ready features like metrics, health checks, and environment info via HTTP endpoints.
Q5. How to profile environments in Spring Boot?
- Use the @Profile annotation or spring.profiles.active property to enable different configurations.
Q6. How to deploy a Spring Boot application?
- You can package it as a JAR using Maven/Gradle and run using java -jar app.jar. It can also be deployed to Docker or cloud platforms like AWS, GCP.
Q7. What are embedded servers supported in Spring Boot?
- Tomcat (default), Jetty, and Undertow.
Q8. How do you test Spring Boot applications?
- Use JUnit, Mockito, and Spring Boot Test libraries. Annotations like @SpringBootTest, @MockBean are used for integration and unit tests.
Q9. What is a starter-parent in Spring Boot?
- It is a special starter used in Maven pom.xml that provides default configurations, dependency management, and plugin versions.
Q10. What is the default scope of Spring Beans?
- The default scope is singleton.
🧠 Conclusion
Spring Boot simplifies Java enterprise development and is a crucial skill for modern Java developers. This guide covered the top Spring Boot interview questions, practical examples, and expert insights. Keep exploring real-world projects and configurations to deepen your understanding.
Read more on Fresh Blog

