728x90
반응형
SMALL
서비스 활용
서비스가 필요한 이유?
복잡한 코드를 모듈화 할 수 있으며, 엔티티 객체를 DTO 객체로 변환할 수 있다.
서비스 만들기
원래 컨트롤러에서 리포지토리를 사용했다.
이제 컨트롤러에서 리포지토리 대신 사용할 서비스를 만들어보자.
QuestionService.java
package com.mysite.sbb.question;
import java.util.List;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Service
public class QuestionService {
private final QuestionRepostiory questionRepostiory;
public List<Question> getList(){
return this.questionRepostiory.findAll();
}
}
컨트롤러에서 서비스 사용하기
이전에 리포지토리를 사용했다면 그 중간을 이어주는 서비스를 사용하도록 변경해주자.
QuestionController.java
package com.mysite.sbb.question;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Controller
public class QuestionController {
private final QuestionService questionService;
@GetMapping("/question/list")
public String list(Model model) {
List<Question> questionList = this.questionService.getList();
model.addAttribute("questionList",questionList);
return "question_list";
}
}

똑같이 동일한 결과를 볼 수 있다.
728x90
반응형
LIST
'IT > Spring Boot' 카테고리의 다른 글
[Spring Boot] 11. 답변 기능 추가하기 (1) | 2024.04.11 |
---|---|
[Spring Boot] 10. 상세 페이지 작성 (0) | 2024.04.08 |
[Spring Boot] 8. Thymeleaf 템플릿, URL 매핑 (0) | 2024.04.08 |
[Spring Boot] 7. JUnit 테스트 (Answer 예제) (0) | 2024.04.05 |
[Spring Boot] 6. 리포지터리 생성, JUnit 테스트 (Question 예제) (0) | 2024.04.05 |