inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 서비스 테스트

MemberRepository와 MemberService 중복 관련

224

클라우디안

작성한 질문수 5

1

MemberRepository에 findAll과 findOne이 있는데 MemberService에 findMembers와 findOne의, 실상 같은 역할을 하는 메소드를 중복으로 만들어주는 이유가 뭔가요?

java spring mvc spring-boot

답변 1

3

OMG

안녕하세요. 김범주님, 공식 서포터즈 OMG입니다.

Controller -> Service -> Repository 로 진행되는 계층형 아키텍쳐 구조에서

강의 예제가 단순하여 Service는 단지 Repository를 호출하는 역할밖에 없어

사실상 중간 계층을 건너띄고

Controller -> Repository로 호출하여도 동일한 동작을 할 것입니다.

.

강의 예제처럼 단순하지 않다고 가정하고,

회원을 찾는 findMembers가 findAll만을 호출하지 않고 회원을 조회하기 전에 "인증"절차가 필요하다면 findMembers는 "인증절차" + findAll 호출 두 가지 역할을 갖게 될 것이고 이 행위는 우리의 비즈니스 로직의 확장이 된 상황으로 볼 수 있습니다.

 

정리하면 강의예제는 단순하여 비즈니스 로직이 단순 DB조회밖에 없지만, 비즈니스 로직에는 다양한 행위가 있을 수 있으니 구분해놓은 것입니다. 예제가 단순하여 구분짓는게 크게 의미 없긴하지만요.

 

감사합니다.

..

0

76

2

Unused property.....

0

101

2

project JDK is misconfigured

0

132

2

외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석

0

83

2

단위/통합 테스트 버전충돌 문제

0

91

2

❗️springboot 4.0.2 버전 aspectj dependency 설정❗️

0

230

1

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

0

104

2

윈도우 build test오류 질문

1

103

2

테스트 관련 공부에 대한 조언을 얻고 싶습니다

0

101

2

테스트 실행 시 에러 질문

0

292

1

name을 통한 비교와 객체를 통한 비교

0

77

1

빌드 후 libs 없음

1

129

1

윈도우 gradlew.bat 에러

0

167

1

@PostMapping("/members/new")가 동작하지 않습니다

0

89

1

java static class와 kotlin class

0

79

1

스프링 DB연결

0

126

1

소요 시간

0

87

2

ddl.sql에 빨간 밑줄

1

102

2

welcome page 에러

0

183

3

잘 모르겠습니다.

0

164

2

fail을 똑같이 쳤는데 오류가 발생해요

0

156

2

index.html Welcome page

0

124

1

프로젝트 gradle-groovy ?

0

369

1

테스트코드 메서드명 한글

0

202

2