[SpringBoot] 서비스 만들기
2024. 8. 31. 10:00ㆍ자바 웹 개발/스프링부트
엔티티는 데이스와 직접 맞닿아 있으므로 곧바로 컨트롤러 또는 템플린 엔진에 전달해 사용하는 것이 좋지 않다. 민감한 데이터가 포함되어 있기 때문이다. 그래서 엔티티 클래스는 컨트롤러에서 사용하지 않고 대신 사용할 DTO 클래스를 만들고 엔티티 객체를 DTO 객체로 변환할 필요가 있다. 이 일은 서비스에서 진행한다.
@RequiredArgsConstructor
@Service
public class QuestionService {
private final QuestionRepository questionRepository;
public List<Question> getList() {
return this.questionRepository.findAll();
}
서비스를 사용하기 위해서는 @Service 애너테이션이 필요하다.
컨트롤러가 이제 리포지터리 대신 서비스를 사용하도록 변경한다.
@RequestMapping("/question")
@RequiredArgsConstructor
@Controller
public class QuestionController {
private final QuestionService questionService;
@GetMapping("/list")
public String list(Model model){
List<Question> questionList = this.questionService.getList();
model.addAttribute("questionList", questionList);
return "question_list";
}
'자바 웹 개발 > 스프링부트' 카테고리의 다른 글
[SpringBoot] URL 프리픽스 (0) | 2024.08.31 |
---|---|
[SpringBoot] 상세 페이지 만들기(URL에서 자바 객체값 사용) (0) | 2024.08.31 |
[SpringBoot] 루트 URL 사용하기 (0) | 2024.08.31 |
[SpringBoot] 템플릿 설정 (0) | 2024.08.28 |
[SpringBoot] 리포지터리 데이터베이스 관리 기본 기능 (0) | 2024.08.27 |