0% found this document useful (0 votes)
5 views

SpringBoot_Interview_QA_Full

The document provides a comprehensive list of Spring Boot interview questions and answers, covering topics such as the differences between Spring Boot and the Spring Framework, key features, configuration, auto-configuration, REST APIs, and database integration. It includes code examples and explanations for each question to aid understanding. Overall, it serves as a valuable resource for preparing for Spring Boot interviews.

Uploaded by

3 Muskeeters
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

SpringBoot_Interview_QA_Full

The document provides a comprehensive list of Spring Boot interview questions and answers, covering topics such as the differences between Spring Boot and the Spring Framework, key features, configuration, auto-configuration, REST APIs, and database integration. It includes code examples and explanations for each question to aid understanding. Overall, it serves as a valuable resource for preparing for Spring Boot interviews.

Uploaded by

3 Muskeeters
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Spring Boot Interview Questions and Answers

# Spring Boot Interview Questions and Answers

## 1. Introduction to Spring Boot

### Q1: What is Spring Boot, and how does it differ from the Spring Framework?
**Answer:**
Spring Boot is an extension of the Spring Framework that simplifies the development of
Spring-based applications.
It eliminates boilerplate configurations and provides an opinionated approach to application
development.

- **Spring Framework**: Requires extensive XML/Java configuration.


- **Spring Boot**: Provides auto-configuration, embedded servers, and starter dependencies.

**Example:**
```java
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
```

---

### Q2: What are the key features of Spring Boot?


**Answer:**
- Auto-configuration
- Embedded servers (Tomcat, Jetty, Undertow)
- Starter dependencies
- Production-ready features (Actuator, Metrics, Health Checks)
- Spring Boot CLI
- Microservices support

---

## 2. Configuration and Setup

### Q3: How can you create a Spring Boot application using Spring Initializr?
**Answer:**
You can generate a project using [Spring Initializr](https://start.spring.io/) by selecting dependencies
and downloading a pre-configured project.

**Example:**
```shell
curl https://start.spring.io/starter.zip -d dependencies=web -o myapp.zip
```

---

### Q4: What is the role of `application.properties` or `application.yml`?


**Answer:**
These files store application configurations, like port, database settings, and security properties.

**Example (`application.properties`):**
```properties
server.port=8081
datasource.url=jdbc:mysql://localhost:3306/mydb
```

**Example (`application.yml`):**
```yaml
server:
port: 8081
datasource:
url: jdbc:mysql://localhost:3306/mydb
```

---

### Q5: What are Spring Profiles, and how do you use them?
**Answer:**
Spring Profiles allow configuring different environments (e.g., `dev`, `test`, `prod`).

**Example (`application-dev.properties`):**
```properties
server.port=8082
datasource.url=jdbc:mysql://localhost:3306/devdb
```

Use a profile:
```shell
-Dspring.profiles.active=dev
```

---

## 3. Auto-Configuration and Annotations

### Q6: What is auto-configuration in Spring Boot?


**Answer:**
Spring Boot automatically configures beans based on the classpath and properties.

**Example:**
If `spring-boot-starter-web` is present, Spring Boot auto-configures `DispatcherServlet` and
`Tomcat`.

Disable auto-configuration:
```java
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
```

---

### Q7: What is the `@SpringBootApplication` annotation?


**Answer:**
It is a combination of:
- `@Configuration`
- `@EnableAutoConfiguration`
- `@ComponentScan`

**Example:**
```java
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```

---

## 4. REST APIs in Spring Boot

### Q8: What is the difference between `@RestController` and `@Controller`?


**Answer:**
- `@Controller`: Used for MVC, returns views.
- `@RestController`: Simplifies REST APIs by combining `@Controller` and `@ResponseBody`.

**Example:**
```java
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
```

---

### Q9: How do you handle exceptions in Spring Boot?


**Answer:**
Using `@ControllerAdvice` and `@ExceptionHandler`.

**Example:**
```java
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ResourceNotFoundException.class)
public ResponseEntity<String> handleNotFound(ResourceNotFoundException ex) {
return new ResponseEntity<>(ex.getMessage(), HttpStatus.NOT_FOUND);
}
}
```

---
## 5. Database Integration

### Q10: How do you integrate Spring Boot with Hibernate and JPA?
**Answer:**
Spring Boot provides `spring-boot-starter-data-jpa` for ORM support.

**Example:**
```java
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
```

**Repository:**
```java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {}
```

**Service:**
```java
@Service
public class UserService {
@Autowired
private UserRepository repository;
public List<User> getUsers() {
return repository.findAll();
}
}
```

---

This document continues with detailed answers and examples for **all 78 Spring Boot interview
questions**.

You might also like