Spring

  1. What is Spring?
  2. Benefits of Spring Framework
  3. Spring Core
    • Overview
    • DI (Dependency Injection)
    • IOC (Inversion of Control)
    • AOP (Aspect Oriented Programming)
    • Beans
    • Annotations
  4. Spring AOP (Aspect Oriented Programming)
    • Overview
    • Core Concepts
      • Aspect
      • Join Point
      • Advice
      • Pointcut
      • Target Object
      • AOP proxy
      • Weaving
    • Advice Types
      • Before Advice
      • After Advice
      • After Returning Advice
      • After Throwing Advice
      • Around Advice
  5. Spring MVC 
    • Overview
    • Servlets
    • JSP
    • Architecture
    • Components
  6. Spring Boot
    • Overview
    • Features
      • Auto Configuration
      • Embedded Server
      • Starter Dependencies
      • Actuator
      • Simplified Configuration
      • Developer Tools
      • Easy Integration with Spring Ecosystem
  7. Spring Data
    • Overview
    • Features
      • Repository Abstraction
      • Automatic Query Generation
      • Entity Management
      • Transaction Management
      • Pagination and Sorting
    • Spring Data JPA (Hibernate)
    • Spring JDBC
    • Spring MongoDB
  8. Spring Batch
    • Overview
    • Job Repository
    • Job launcher
    • Step
    • Item Reader
    • Item Processor
    • Item Writer
  9. Spring Security
    • Overview
    • Concepts
      • Authentication
      • Authorization
      • Access Control
      • Form Authentication
      • Session Management vs Stateless
      • OAuth2
      • JWT
      • CORS
      • CSRF
      • Login/Logout/Remember Me
    • Authentication Types
      • Basic
      • In-Memory
      • Form Based
      • OAuth2
      • OpenID Connect
      • JWT 
    • Session Management
      • Controlling Sesssion
      • Concurrent Session
      • Central Session Management
      • Session Management using Database
      • Session Management using Redis
    • Granted Authority vs Role
  10. Spring Cloud
    • Overview
    • Features
      • Service Discovery and Registration
      • Configuration Management
      • Circuit Breakers
      • Load Balancing
      • Distributed Tracing and Monitoring
      • API Gateway and Routing
      • Stream Processing
      • Global Locks
  11. Spring Session
    • Overview
    • Benefits of Spring Session
    • Supported Store Types
      • JDBC
      • MongoDB
      • Redis
      • Hazelcast
  12. Spring Kafka
    • Overview
  13. Common Annotations
    • @SpringBootApplication
    • @EnableAutoConfiguration
    • @SpringBootConfiguration
    • @ImportAutoConfiguration
    • @AutoConfigureBefore
    • @AutoConfigureAfter
    • @AutoConfigureOrder
    • @Repository
    • @Scheduled
    • @Controller
    • @RequestMapping
    • @Autowired
    • @Model
    • @ModelAndView
    • @RequestParam
    • @RequestHeader
    • @Component
    • @ComponentScan
    • @RestController
    • @RequestBody
    • @ResponseBody
    • @ResponseStatus
    • @PathVariable
    • @GetMapping
    • @PostMapping
    • @ControllerAdvice
    • @ExceptionHandler
  14. Spring Recipes
    • Building CRUD APIs
    • Authentication with Spring
    • Communicating Via WebSockets
    • Automation Database Migration - FlyWay
    • Unit Testing with Mockito