HATEOAS stands for Hypermedia As The Engine Of Application State. The ultimate goal of REST architecture is to decouple the client with the server. That means the rest client interacts with the network application without prior knowledge of how to interact with that particular application. HATEOAS decouples the client and server to a large extent which allows both sides to evolve independently.
Spring
Spring Dependency Injection
Dependency Injection is a technique to wire objects together in a flexible way. So, it also called wiring between objects. It plays a vital role in gluing classes together and at the same time keeping them independent.