так, начнем с того что есть сервис $injector:
function SomeController($injector) {
var service = $injector.get('mainService');
}
angular.controller('SomeController', ['$injector', SomeController]);
и закончим тем что единственных два кейса когда вам может понадобиться инджектор:
- разруливание циклических зависимостей, что само по себе признак плохой архитектуры но бывает иногда
- создание мини-сервисов на лету, например регистрация через провайдер хэндлеров и колбэков, которые хотят внутри юзать сервисы.
В контроллеры же инджектить инджектор не стоит вообще.