인프런 커뮤니티 질문&답변

백린이님의 프로필 이미지

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

로그인 처리하기 - 쿠키 사용

HomeController에서 MemberRepository 사용에 대한 질문입니다.

작성

·

303

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
- HomeController를 보면 MemberRepository를 사용하는데, Controler - Service - Repository 구조를 생각하면, LoginService를 사용해야 할 것 같은데, MemberRepository를 사용되는 이유가 궁금합니다. 혹시, 강의 편의상인가요?

 

@Slf4j
@Controller
@RequiredArgsConstructor
public class HomeController {

    private final MemberRepository memberRepository;

    //    @GetMapping("/")
    public String home() {
        return "home";
    }

    @GetMapping("/")
    public String homeLogin(@CookieValue(name = "memberId", required = false) Long memberId, Model model) {

        if (memberId == null) {
            return "home";
        }

        //로그인
        Member loginMember = memberRepository.findById(memberId);

        if (loginMember == null) {
            return "home";
        }

        model.addAttribute("member", loginMember);
        return "loginHome";
    }
}

답변 1

0

안녕하세요. linky dev님, 공식 서포터즈 David입니다.

편의를 위해 간단한 조회의 경우 Service를 사용하지 않고 Repository를 바로 사용하기도 합니다.

이는 트레이드 오프입니다. 엄격하게 레이어 간 의존을 Controller -> Service -> Repository로 제한할 수도 있고 편의를 위해 강의와 같이 Controller에서 Repository를 의존할 수도 있습니다.

감사합니다.

백린이님의 프로필 이미지
백린이
질문자

아하! 답변해주셔서 감사합니다~ㅎㅎ