inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

회원 서비스 테스트

MemberService 질문 입니다

249

yu_rim02

작성한 질문수 2

2

안녕하세요, 좋은 강의 잘 보고 있습니다.

레포지토리와 서비스 구현하신 코드 보고 공부하고 있는데요,

1. MemberService 에서 MemoryMemberRepository를 final로 생성한 이유가 있으신가요?

2. 또 MemberService1,2,3...가 만들어진다면 그만큼 많은 Repository가 생성될 수 있나요? 

감사합니다

java MVC spring-boot spring

답변 3

5

김영한

안녕하세요. yu_rim02님 

1. final로 생성한 이유는 실행도중에 동적으로 MemoryMemberRepository를 다른 객체로 바꾸지 말라는 의미입니다. 현재 의도가 처음 생성시점에 객체를 확정하고, 이후에 변경하면 안되다는 것을 명시적으로 지정한 것이지요. final을 붙이면 만약 실행 도중에 다른 객체로 바꾸는 코드가 나타나면 컴파일 오류가 발생해서, 중간에 바뀌는 문제를 예방할 수 있습니다. 더 자세한 내용은 다음 강의인 스프링 핵심 원리에서 자세히 설명드립니다.

2. Service의 숫자와 Repository의 숫자는 1:1이 아닙니다. Repository가 보통 더 재사용성이 높기 때문에 여러 Service에서 같은 Repository를 참조해서 사용합니다.

감사합니다.

1

yu_rim02

상세한 답변 감사드립니다!

다음 강의가 기대되네요 :)

0

김영한

네 yu_rim02님 열심히 공부하시고, 또 궁금한 내용이 있으면 언제든지 편하게 질문 남겨주세요^^ 화이팅!

..

0

74

2

Unused property.....

0

98

2

project JDK is misconfigured

0

130

2

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

0

82

2

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

0

91

2

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

0

228

1

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

0

102

2

윈도우 build test오류 질문

1

102

2

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

0

98

2

테스트 실행 시 에러 질문

0

289

1

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

0

77

1

빌드 후 libs 없음

1

128

1

윈도우 gradlew.bat 에러

0

167

1

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

0

88

1

java static class와 kotlin class

0

77

1

스프링 DB연결

0

126

1

소요 시간

0

85

2

ddl.sql에 빨간 밑줄

1

101

2

welcome page 에러

0

180

3

잘 모르겠습니다.

0

163

2

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

0

156

2

index.html Welcome page

0

121

1

프로젝트 gradle-groovy ?

0

364

1

테스트코드 메서드명 한글

0

200

2