AngularJS + Java

Ola pessoal

Estou utilizando Angular, e estou lendo as documentações, mas algumas coisas ficaram meio obscuras pra mim

Quando utilizo o sequinte

var LstParametros = $resource('/rest/parametroGeral/:Id', {Id: '@Id'});
$scope.lstParametros = [];

LstParametros.get({Id: $routeParams.Id}, function(data) {
        $scope.lstParametros = data;
    });

    $scope.save = function() {
        $scope.lstParametros.$save(function() {
            $location.path("/parametroFiltro");
        });
    };

sendo que tenho uma controller

@Controller
@RequestMapping(value = "/rest/parametroGeral")
public class ParametroGeralController

....


    @RequestMapping(method = RequestMethod.GET)
    @ResponseBody
    @Override
    public List<Parametro> findAll() {
        return getService().findAll();
    }

    @RequestMapping(method = RequestMethod.POST)
    @ResponseBody
    @Override
    public Parametro save(@RequestBody Parametro  t) {
        return (Parametro ) getService().save(t);
    }

Como que o angular sabe que se chamo o $save ele chama o meu save da @Controller?