1-2 Years of Experience (Junior Developer)
- Spring Boot Basics:
- What is Spring Boot? Why use it?
- Key features of Spring Boot (Auto-Configuration, Starter Dependencies, Spring Initializer)
- Spring Boot Annotations (@SpringBootApplication, @RestController, @RequestMapping, etc.)
- Creating a simple REST API with Spring Boot
- Dependency Injection & @Autowired
- Types of Injection (Constructor, Setter, Field)
- @Autowired annotation and its internal working
- Spring Boot Configuration:
- application.properties vs application.yml
- Profiles (@Profile annotation)
- Spring Data JPA:
- CRUD operations using Spring Data JPA
- Spring Boot Actuator
- Basic Exception Handling
- @ControllerAdvice and @ExceptionHandler
- Spring Boot Testing
- Writing unit and integration tests
- Testing with @SpringBootTest
3-4 Years of Experience (Mid-Level Developer)
- Spring Boot Internals:
- Spring Boot AutoConfiguration (how it works internally)
- Custom AutoConfiguration
- Spring Boot Starter Projects:
- Understanding Spring Boot Starters and creating custom starters
- Advanced Exception Handling:
- Global Exception handling
- Custom Exception classes
- Spring Data JPA:
- Complex Relation mapping - 1-1, 1-many, many-1, many-many
- Query methods and custom queries and JPQL
- @Entity, @Repository, @Transactional annotations
- Spring Security Basics:
- Spring Boot Security (In-memory Authentication, JWT)
- Caching in Spring Boot:
- @Cacheable, @CacheEvict, cache strategies
- Spring Boot Profiles & Configuration Management:
- Working with multiple profiles
- External configuration (property files, YAML, environment variables)
5-7 Years of Experience (Senior Developer)
- Microservices Architecture:
- Building Microservices using Spring Boot
- Service discovery (Eureka) and Load balancing (Ribbon)
- API Gateway (Zuul, Spring Cloud Gateway)
- Distributed tracing (Sleuth, Zipkin)