To follow this guide you will need to know


If you already have some experience in Java that’s great. If you don’t then you can still follow this guide, I just recommend to have someone who can answer your questions and review your code.

That’s not required to have a very high Java skill - it just can make your work easier.

Site tags: Java and Java 8.

TestNG or JUnit

TestNG and JUnit are two most popular Testing Frameworks for Java.

Site tags: TestNG and JUnit


You need to understand what Http Requests and Http responses are. Also Http headers, Response codes. Web services basics.

Site tags: HTTP

Java Http Clients

Apache Http Components, RESTEasy, OkHttp, RestTemplate…

Site tags: RESTEasy, OkHttp

Build Automation Tools: Maven and/or Gradle

You need to be familiar with main Maven lifecycle phases, pom.xml and Maven project structure basics.

Site tags: Maven

Version Control System: Git

Basic Git work flow

  • Create repository
  • Create branch
  • Stage changes
  • Commit changes
  • Push changes to remote repository
  • Pull from remote repository
  • Resolve merge conflicts

Site tags: Git

JSON serialization/deserialization

Site Tags: Gson


Continuous Integration and Continuous Deployment tools like Jenkins or Bamboo

Site Tags: Jenkins

Spring Boot

Spring Boot basics. Creating and injecting Spring beans.

Site Tags: Spring Boot


Site Tags: AssertJ


Site Tags: AspectJ