To realize the Inversion of Control, one can use either a service locator or a dependency injector. Service Locator may be harder to or lengthier to code than DI. I think the Service Locator is like another name for Factory pattern, right ? And I don't know when I must use the SL instead of DI ? Do you any real cases to apply any of them ?
As a default position, avoid ServiceLocators. See Mark Seemann's excellent blog post on the subject.
Dependency Injection is much easier to maintain, and does not require a "injector", or DI framework at all. It's just a matter or providing an object with it's dependencies (preferably in the constructor) rather than letting the object gather them itself. I am a pretty strict adherent to DI, and I almost never use a DI framework.