- Spring Framework
- Spring Boot
- Spring Testing
- Observability
- Miro board
-
Day 1 :: Fundamental of REST and Spring Boot
- Introduction to Spring framework
- Dependency Injection (DI)
- Inversion of Control (IoC)
- Spring Context and Bean
- How to build project with Spring ?
- Spring Configuration
- Why we need Spring framework ?
- Spring Modules and Project
- SOLID for Object-Oriented Design
-
Day 2 :: Spring Boot
- Introduction to Spring Boot
- Goals of Spring Boot
- Better project structure of Spring Boot
- Develop RESTful APIs
- Error handling
- Layer in Spring Boot project
- Working with Spring Data (JPA and JDBC)
- Manage transaction
- Packaging software with Spring Boot (Docker)
-
Day 3 :: Spring Testing and Monitoring
- Test-Driven Development (TDD)
- Testing with Spring Boot
- Controller testing
- Service testing
- Repository testing
- Test double (Stub, Spy and Mocking)
- Learn JUnit and Mockito
- Code coverage with Jacoco
- Monitoring with Sprint Boot
- Centralized logging
- Working with Spring AOP
- Logback + JSON
- ELK stack
- Distributed tracing
- Zipkin
- Jaeger
- Application metric
- Actuator + Micrometer + Prometheus + Grafana
- Centralized logging