Aplicación AngularJS: cargue datos de JSON una vez y utilícelos en varios controladores

Estoy trabajando en una aplicación móvil usando AngularJS como marco, actualmente tengo una estructura similar a esta:

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl : 'pages/home.html',
            controller  : 'homeCtrl'
        })

        .when('/one', {
            templateUrl : 'pages/one.html',
            controller  : 'oneCtrl'
        })

        .when('/two', {
            templateUrl : 'pages/two.html',
            controller  : 'twoCtrl'
        });
}]);

app.controller('homeCtrl', ['$scope', function($scope) {

}]);

app.controller('oneCtrl', ['$scope', function($scope) {

}]);

app.controller('twoCtrl', ['$scope', function($scope) {

}]);

Y luego estoy mostrando el contenido con unng-view:

<div class="ng-view></div>

Las cosas funcionan bien, pero necesito cargar datos de un archivo JSON para completar todo el contenido de la aplicación. Lo que quiero es hacer y una llamada AJAXsólo una vez y luego pasar los datos a través de todos mis diferentes controladores. En mi primer intento, pensé en crear un Servicio con un$http.get() dentro de él e incluirlo en cada controlador, pero no funciona porque hace una solicitud ajax diferente cada vez que inyecto y uso el servicio. Como soy nuevo usando angular, me pregunto cuál es la mejor forma o la "forma angular" para lograr esto sin estropearlo.

Editar: Estoy agregando el código del servicio, que es solo un simple$http.get solicitud:

app.service('Data', ['$http', function($http) {
    this.get = function() {
        $http.get('data.json')
        .success(function(result) {
            return result;
        })
    }
});

Respuestas a la pregunta(2)

Su respuesta a la pregunta