As fowler discusses here
[Inversion of Control Containers and the Dependency Injection pattern](https://martinfowler.com/articles/injection.html#UsingAServiceLocator)
Dependency Injection and Service Locator are different things. If I understand correctly a service locator is passed into the object in question and it then has to request the service it needs from it. Dependency injection would have the objects dependencies automatically injected in through its initialiser or setters. In this case I think we are using a Service Locator.