Spring

Configuring Spring Applications

Topic Description Done
XML-Based Configuration Setting up beans and dependencies using XML files  
Annotation-Based Configuration Using annotations like @Component, @Autowired, @Qualifier  
Java-Based Configuration Creating configuration classes using @Configuration and @Bean  
Spring Application Context Understanding ApplicationContext and BeanFactory  

Spring Core Concepts

  • Spring Bean Lifecycle

Subtopic Description Done
Bean Scopes Singleton, Prototype, Request, Session, and Global Session scopes  
Bean Lifecycle Methods @PostConstruct and @PreDestroy annotations  
Bean Post Processors Customizing bean initialization and destruction  
  • Aspect-Oriented Programming (AOP)

Subtopic Description Done
Introduction to AOP Understand cross-cutting concerns  
AOP Terminology Aspect, Join Point, Pointcut, Advice, Weaving  
Implementing AOP in Spring Using @Aspect, @Before, @After, @Around annotations  
  • Spring Expression Language (SpEL)

Subtopic Description Done
Introduction to SpEL Using SpEL in annotations and XML configurations  
Expressions and Operators Navigating object graphs, method invocation, and collections  
  • Object-Relational Mapping (ORM) with Spring

Subtopic Description Done
Introduction to ORM Understanding ORM and its benefits in Spring  
Configuring ORM with Spring Integrating ORM frameworks like Hibernate and JPA with Spring  
Spring Data JPA Simplifying database access with Spring Data JPA  
  • Spring MVC

Subtopic Description Done
Architecture Overview DispatcherServlet, Controllers, Models, and Views  
Controllers and Request Mapping Using @Controller, @RestController, @RequestMapping, @GetMapping, @PostMapping  
Handling Form Data Data binding with @ModelAttribute, Form validation using @Valid and BindingResult  
View Technologies Integrating Thymeleaf, JSP, and FreeMarker  
Internationalization (i18n) Implementing locale-specific views and messages  
  • Building RESTful Web Services

Subtopic Description Done
REST Principles Understanding REST architecture  
Creating REST APIs Consuming and producing JSON/XML  
Exception Handling Global exception handling with @ControllerAdvice  
Content Negotiation Handling different media types  

SpringBoot

  • Configuration in Spring Boot

Subtopic Description Done
Externalized Configuration Using application.properties and application.yml  
Profiles Environment-specific configurations with @Profile  
Command-Line Arguments and Environment Variables Overriding default configurations  
  • Spring Boot Actuator

Subtopic Description Done
Monitoring and Management Enabling Actuator endpoints  
Health Checks and Metrics Custom health indicators  
Securing Actuator Endpoints Protecting sensitive information  
  • Logging

Subtopic Description Done
Configuring Logging Using Logback and Log4j2  
Custom Logging Levels Adjusting log levels for different packages  
  • Security

Subtopic Description Done
Introduction to Spring Security Core concepts of authentication and authorization  
Method-Level Security Using @Secured, @PreAuthorize, @PostAuthorize  
OAuth2 and JWT Implementing token-based security  
Password Encoding Using PasswordEncoder for secure password storage  
  • Testing

Subtopic Description Done
Integration Testing Using @SpringBootTest for full context testing  
MockMVC Testing controllers without starting the server  
Test Slices Focused testing with @WebMvcTest, @DataJpaTest  

Reactive Programming and WebFlux

  • Introduction to Reactive Programming

Subtopic Description Done
Reactive Principles Non-blocking, asynchronous data streams  
Project Reactor Understanding Mono and Flux  
Backpressure Handling    
  • Spring WebFlux

Subtopic Description Done
Building Reactive APIs Using @RestController with reactive types  
Functional Endpoints Router functions and handler functions  
Reactive Data Access Working with Reactive MongoDB and R2DBC