Service 만들기를 시작해보자.
1. QuestionService class 생성
service는 controller와 마찬가지로 @Service 어노테이션을 사용할 수 있다.
그 후 Repository 객체를 사용하여 Repository class 내의 메서드를 사용한다.
@RequiredArgsConstructor
@Service
public class QuestionService {
private final QuestionRepository questionRepository;
public List<Question> getList() {
return this.questionRepository.findAll();
}
}
이는 전에 사용했던 모든 Question의 List를 가져오는 findAll 메서드를 사용해 반환하는 getList 메서드이다.
2. QuestionController 수정
QuestionRepository를 직접 연결하는 것이 아닌 QuestionService를 통과 후 진행한다.
@Controller
@RequiredArgsConstructor // 생성자 주입 -> final을 달면 autowired
public class QuestionController {
private final QuestionService questionService; // QuestionRepository 직접연결이 아닌 QuestionService에 연결
@RequestMapping("/question/list")
// @ResponseBody 어노테이션이 없으면 resources/question_list/question_list.html 파일을 보여준다.
public String list(Model model) {
List<Question> questionList = this.questionService.getList();
// 실행될 question_list.html에서
model.addAttribute("questionList", questionList);
return "question_list";
}
}
'Spring' 카테고리의 다른 글
[Spring]Spring 시작해보기(9) - 답글 달기 form 생성 및 출력 (0) | 2022.08.16 |
---|---|
[Spring]Spring 시작해보기(8) - 상세 페이지 만들기 (0) | 2022.08.16 |
[Spring]Spring 시작해보기(6) - Thymeleaf를 사용해 QuestionList 출력 (0) | 2022.08.16 |
[Spring]Spring 시작해보기(5) - MariaDB의 Truncate Table 실행하기 (0) | 2022.08.11 |
[Spring]Spring 시작해보기(4) - H2 데이터 베이스에서 MariaDB로 변경(JPA) (0) | 2022.08.11 |