- Socket, ServerSocket, DatagramSocket
- Protocols: HTTP case study
- Protocol design
- Maven Project Object Model (POM)
- Maven commands, life cycles, phases and goals
- Gradle build scripts
- Gradle tasks and execution phases
- Annotations: target, retention, attributes and default values
- Demystifying Dependency Injection
- DIY Dependency Injection
- Intro to the IoC container
- Spring XML and/or Java Configuration
- Bean definition, scope and life cycle; autowiring
- Creating and configuring a Spring Boot app
- Leveraging profiles
- Packaging and running Spring Boot web apps
- Building a command-line application
- Using Spring Boot starters: Spring Security, and more
- Using Spring Boot Actuator to monitor app health and other metrics
- JDBC in Spring
- ORM: Hibernate
- Entities
- Spring Data
- Spring MVC
- The DispatcherServlet
- Controllers and Services
- Thymeleaf
- Creating Futures
- Consuming Futures
- ThreadPools
- Completable Futures
- Spring Async