Edit in JSFiddle

var app = angular.module('app', []);

app.factory('appFactory', function () {
	var factory = {};
	var countriesList = [
		{name: 'Germany', capital: 'Berlin', population: '81,305,856'},
		{name: 'France', capital: 'Paris', population: '65,630,692'},
		{name: 'Italy', capital: 'Rome', population: '61,261,254'},
		{name: 'Spain', capital: 'Madrid', population: '47,042,984'},
		{name: 'United Kingdom', capital: 'London', population: '63,047,162'}
	];

	factory.getCountries = function () {
		// can use $http object to retrieve remote data in a "real" app
		return countriesList;
	};
	return factory;
});

app.controller('appController', ['$scope', 'appFactory', function ($scope, appFactory) {
	$scope.countriesList = [];

	init();
	function init() {
		$scope.countriesList = appFactory.getCountries();
	}

}]);
<section ng-app="app" class="container">

	<section ng-controller="appController">

		<h3>List of countries</h3>

		<ul>
			<li ng-repeat="country in countriesList">
				{{country.name}} - {{country.capital}}
			</li>
		</ul>

	</section>

</section>