Intro & Understanding few key concepts
  • Hi
  • Spring Boot Overview
  • The N-Tier Architecture
  • Dependency Injection Explained
Spring Boot Initialiser & Bootstrapping
  • Bootstrap project from scratch
  • Understand project structure
  • Creating restful api Hello World with Spring Boot
N-Tier (Data Access - DAO Layer)
  • Creating User model
  • DAO interface
  • Creating fake DAO and database using a Map
  • Implementing DAO interface
N-Tier (Service Layer)
  • Creating Service layer and refactor DAO interface
  • Dependency Injection with Spring
  • Lets Implement the business logic
Unit Tests & Mocking with Mockito
  • Your first Unit Test
  • Test select user by id
  • Finish up writing tests for DAO
  • Mocking Objects with Mockito
  • Mockito BDD - Given, When and Argument Captor
  • Wrapping up remaining unit tests
N-Tier (Restful Api Layer)
  • Spring Boot and Web Servers overview
  • HTTP GET Requets
  • Configuring REST end point paths
  • Path Variables
  • Response Entity & HTTP Response Codes
  • HTTP POST Requests
  • Postman Overview
  • HTTP POST, @RequestMapping & Consuming JSON
  • HTTP PUT Requests
  • HTTP Delete Requests
  • Query Params
  • Query Params & Filtering
  • Improve Test Code Coverage
  • @Consumes and @Produces
  • Configuring what server Consumes from clients and Produces to clients
Jackson Fasterxml
  • Jackson overview
  • Immutable Objects and @JsonProperty
  • Changing JSON property names with getters & @JsonProperty
  • Computed JSON properties
  • @JsonIgnore
JAX-RS & Resteasy
  • Spring MVC Alternatives
  • Resteasy starter pom
  • Your first endpoint using Reasteasy
  • Exercise
  • Exercise Sol - Fully Switch User resource to user JaxRS annotations
  • Testing UserResourseResteasy enpoint
  • Jersey support with spring-boot-starter-jersey
Resteasy Client API
  • Understanding Integration tests
  • Reateasy Client API
  • Creating proxy interface
  • Creating proxy using @Bean
  • Spring Boot property files and @Value
  • Section recap
Integration Tests
  • Intro to Spring Boot Integration tests
  • Web Enviroment
  • Your first Integration Test
  • Create user Integration Test
  • Delete User Integration Test
  • Update user Integration Test
  • Get users by gender Integration test
  • Running all Integration tests
Java Bean Validation
  • Sending empty object to server
  • Handling nulls with Objects.requireNonNull
  • Java Beans Validation Annotations
  • Lets activate the validations
Refactor
  • Why Refactor
  • Refactor Resource / Controller Layer
  • Refactor Service Layer
  • Fixing and running all unit and integration tests
  • Example of Integration tests without RestEasy Client
Running Jar and Deployment Solutions
  • Generating the target folder
  • Running the .jar file
  • Overriding property files from terminal/cmd
  • Cloud providers solutions
Wrapping up
  • Whats next