/** * Use Spring to inject a {@link EmployeeRepository} that can then load data. Since this will run * only after the app is operational, the database will be up. * * @param repository */ @Bean CommandLineRunner init(EmployeeRepository repository) { return args -> { repository.save(new Employee("Frodo", "Baggins", "ring bearer")); repository.save(new Employee("Bilbo", "Baggins", "burglar")); }; }
/** * Use Spring to inject a {@link EmployeeRepository} that can then load data. Since this will run * only after the app is operational, the database will be up. * * @param repository */ @Bean CommandLineRunner init(EmployeeRepository repository) { return args -> { repository.save(new Employee("Frodo", "Baggins", "ring bearer")); repository.save(new Employee("Bilbo", "Baggins", "burglar")); }; }
/** * Use Spring to inject a {@link EmployeeRepository} that can then load data. Since this will run * only after the app is operational, the database will be up. * * @param repository */ @Bean CommandLineRunner init(EmployeeRepository repository) { return args -> { repository.save(new Employee("Frodo", "Baggins", "ring bearer")); repository.save(new Employee("Bilbo", "Baggins", "burglar")); }; }
/** * Get a listing of ALL {@link Employee}s by querying the remote services' root URI, and then * "hopping" to the {@literal employees} rel. * * NOTE: Also create a form-backed {@link Employee} object to allow creating a new entry with * the Thymeleaf template. * * @param model * @return * @throws URISyntaxException */ @GetMapping public String index(Model model) throws URISyntaxException { Traverson client = new Traverson(new URI(REMOTE_SERVICE_ROOT_URI), MediaTypes.HAL_JSON); Resources<Resource<Employee>> employees = client .follow("employees") .toObject(new ResourcesType<Resource<Employee>>(){}); model.addAttribute("employee", new Employee()); model.addAttribute("employees", employees); return "index"; }
/** * Get a listing of ALL {@link Employee}s by querying the remote services' root URI, and then * "hopping" to the {@literal employees} rel. * * NOTE: Also create a form-backed {@link Employee} object to allow creating a new entry with * the Thymeleaf template. * * @param model * @return * @throws URISyntaxException */ @GetMapping public String index(Model model) throws URISyntaxException { Traverson client = new Traverson(new URI(REMOTE_SERVICE_ROOT_URI), MediaTypes.HAL_JSON); Resources<Resource<Employee>> employees = client .follow("employees") .toObject(new ResourcesType<Resource<Employee>>(){}); model.addAttribute("employee", new Employee()); model.addAttribute("employees", employees); return "index"; }
@Bean CommandLineRunner initDatabase(EmployeeRepository employeeRepository, ManagerRepository managerRepository) { return args -> { /* * Gather Gandalf's team */ Manager gandalf = managerRepository.save(new Manager("Gandalf")); Employee frodo = employeeRepository.save(new Employee("Frodo", "ring bearer", gandalf)); Employee bilbo = employeeRepository.save(new Employee("Bilbo", "burglar", gandalf)); gandalf.setEmployees(Arrays.asList(frodo, bilbo)); managerRepository.save(gandalf); /* * Put together Saruman's team */ Manager saruman = managerRepository.save(new Manager("Saruman")); Employee sam = employeeRepository.save(new Employee("Sam", "gardener", saruman)); saruman.setEmployees(Arrays.asList(sam)); managerRepository.save(saruman); }; } }