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

+ Recent posts