Teraz wykorzystamy klasę biznesową:
@Service
public class TopicService { //business service - singleton/instance
private List<Topic> topics = Arrays.asList(
new Topic("spring", "spring framework", "spring framework description"),
new Topic("java", "java framework", "java framework description"),
new Topic("javascript", "javascript framework", "javascript framework description")
);
public List<Topic> getAllTopics(){
return topics;
}
}
Dodajemy adnotację „@Service”. Następnie jak poprzednio, tylko, tym razem zapisując w zmiennej, umieszczamy listę obiektów typu „Topic”. A pod koniec klasy tworzymy jeszcze metodę zwracającą naszą prywatną zmienną.
Później dokonujemy zmian w kontrolerze:
@RestController
public class TopicController {
@Autowired
private TopicService topicService;
@RequestMapping("/topics")
public List<Topic> getAllTopics() {
return topicService.getAllTopics();
}
}
Zaciągamy poprzez adnotację „@Autowired” instancję „TopicService”, żeby w metodzie odwołać się do metody biznesowej z singletonu tej klasy.
