Top 15 Spring Boot Interview Questions – 2025
Spring Boot is one of the most demanded frameworks for Java backend development. Whether you're interviewing for TCS, Infosys, or a product-based company, these Spring Boot questions will help you prepare like a pro. Here are 15 questions with detailed explanations for developers with 1–2 years of experience.
Q1. What is Spring Boot?
Answer: Spring Boot is a Java-based open-source framework built on top of the Spring Framework. It helps developers create stand-alone, production-ready Spring applications with minimal configuration. Its key features include:
- Auto-configuration
- Embedded servers (Tomcat, Jetty)
- Starter dependencies
- Production-ready tools (Actuator, Metrics, etc.)
Example: You can create a REST API within minutes by using @RestController
and spring-boot-starter-web
— no need for external web server deployment.
Q2. What is the role of @SpringBootApplication annotation?
Answer: This annotation is a shortcut that combines:
@Configuration
– Marks the class as a source of bean definitions@EnableAutoConfiguration
– Enables auto-configuration@ComponentScan
– Enables scanning for components
It bootstraps the Spring Boot application with one annotation on the main class.
Q3. How does Spring Boot auto-configuration work?
Answer: Spring Boot checks the classpath for libraries (like Spring Web, JPA, etc.) and configures beans automatically using @Conditional
annotations. The logic is defined in spring.factories
files under META-INF
.
Auto-configuration saves time by removing boilerplate and reduces manual bean registration.
Q4. What are starter dependencies in Spring Boot?
Answer: Starter dependencies are pre-configured sets of dependencies. For example, spring-boot-starter-web
includes everything needed to build REST APIs: Spring MVC, Tomcat, Jackson, etc. They allow rapid setup of modules without worrying about individual versions.
Q5. What is Spring Boot Actuator?
Answer: Actuator exposes production-ready endpoints like:
/actuator/health
– Health status/actuator/info
– App metadata/actuator/metrics
– Performance metrics
It's useful for monitoring and management in cloud or microservices environments.
Q6. What is the difference between Spring and Spring Boot?
Spring Framework: Requires manual configuration, external servlet container, and verbose XML or Java config.
Spring Boot: Auto-configures everything, uses embedded servers, and offers a production-ready skeleton with minimal effort.
Q7. What is the use of application.properties or application.yml?
Answer: These files are used to configure server port, database credentials, logging, caching, etc. Example:
server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
Q8. What is the purpose of @RestController?
Answer: @RestController
is a specialized version of @Controller
that returns JSON/XML responses directly. It combines @Controller
+ @ResponseBody
. Used in building RESTful APIs.
Q9. How do you connect a database in Spring Boot?
Answer: Add the DB driver dependency (e.g. MySQL), then configure spring.datasource.*
properties in application.properties
. Spring Boot will auto-configure DataSource, EntityManager, and transaction management.
Q10. How to handle exceptions in Spring Boot?
Answer: Use @ControllerAdvice
with @ExceptionHandler
methods to handle exceptions globally. You can return custom error responses in a consistent format across your application.
Q11. What is @Component, @Service, and @Repository?
@Component: Generic bean
@Service: Marks business logic layer
@Repository: Marks data access layer with automatic exception translation
Q12. What is Spring Boot DevTools?
Answer: DevTools provides automatic restarts, live reload, and better logging. It helps speed up development by reflecting changes without full application restart.
Q13. Difference between @ComponentScan and @EnableAutoConfiguration?
@ComponentScan: Scans packages for Spring-managed components
@EnableAutoConfiguration: Triggers Spring Boot’s auto-configuration based on classpath dependencies
Q14. What is Spring Boot CLI?
Answer: Spring Boot CLI allows you to run Spring Boot apps written in Groovy. It's useful for rapid prototyping and scripting without creating a full Maven/Gradle project.
Q15. How do you test Spring Boot applications?
Answer: Use:
@SpringBootTest
for full context testing@WebMvcTest
for controller testing@DataJpaTest
for JPA layer
Also use JUnit5 + Mockito for unit testing. Embedded H2 DB is great for integration tests.
✅ Final Interview Tips:
- Explain how you used Spring Boot in real projects
- Understand annotations and auto-configuration deeply
- Be prepared to write and debug REST APIs live
📅 Last Updated: 15 May 2025
📎 #SpringBoot #JavaBackend #InterviewQuestions2025 #SpringInterview
0 Comments