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.