Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Spring Core] (배포) 정상희 미션 제출합니다. #116

Open
wants to merge 37 commits into
base: sangheejeong
Choose a base branch
from

Conversation

SANGHEEJEONG
Copy link

@SANGHEEJEONG SANGHEEJEONG commented Jan 15, 2025

안녕하세요!
드디어 마지막이라니 시원섭섭하네요(시원한 게 더 큰 것 같기도 ㅎㅎ)
사실 이번 미션 자체는 오래 걸리지 않았는데 이전 리뷰 반영하다가 오류난 부분들을 고치다 보니 조금 늦게 제출한 것 같습니다 ㅜㅜ

이번 미션을 진행하면서 생긴 문제랑 궁금증이 있는데

JWT 관련 로직을 roomescape와 같은 계층의 auth 패키지의 클래스로 분리하세요.

7단계 미션에서 auth 패키지를 roomescape와 같은 계층으로 옮기라는 말이 있었는데요
그래서 auth 패키지의 Config 클래스에 @Configuration을 붙이고 다른 클래스를 수동으로 빈 등록을 했는데 인텔리제이에서 자꾸 빨간 줄이 뜨더라구요. @SpringBootApplication이 선언된 클래스가 위치한 패키지와 그 하위 패키지까지가 기본 컴포넌트 스캔 범위라서 동등한 패키지에서는 작동하지 않았던 것 같습니다. @Configuration@Component를 포함하고 있고 컴포넌트 스캔 범위 내에 있어야 작동하는 거라고 이해했는데 제가 잘 이해한 게 맞을까요?

근데 여기서

  1. 굳이 왜 @Component를 사용하지 않고 @Configuration을 사용하는 게 요구사항인지 궁금했습니다. 약간 후자를 사용하면 싱글톤이 보장된다고 하는데 인증 과정을 왜 싱글톤으로 하는지에 대한 의문이 좀 들었습니다.
  2. auth 패키지를 roomescape와 동등한 패키지로 만들라는 것이 @Configuration 을 통해 빈을 등록하는 연습을 위한 건지 아니면 auth라는 인증 패키지는 원래 대부분 패키지를 기본 패키지와 동등한 계층으로 만들어 사용하는지 궁금합니다. 만약 후자라면 이유도 궁금합니다.

적고보니까 1,2번이 같은 질문이네요 한 번에 대답해주셔도 될 것 같습니다.

앗 그리고 조금 사소한 질문일 수 있지만,, 궁금해서 질문합니다.
제가 단위 테스트를 전체가 다 통과해야 되는 줄 알았는데 요구사항이 추가되면서 당연히 실패할 수밖에 없는 테스트가 있더라구요 (그걸 까먹고 계속 돌리고 있었어요 하하..) 예를 들어 예약 중복로직 추가하기 전 테스트와 추가한 후 테스트는 데이터가 달라야 예약이 성공한다고 뜨잖아요, 근데 이렇게 계속 코드가 변하는 와중에 보통 테스트 코드도 같이 수정을 하나요? 아니면 그때그때 새로운 테스트를 생성해서 테스트 한 후 이전 테스트는 그냥 냅두나요? (아니면 이전 테스트는 삭제나 주석처리..?)

…basic-roomescape-playground into sanghee-jpa

# Conflicts:
#	src/main/java/roomescape/auth/AuthRoleInterceptor.java
#	src/main/java/roomescape/member/Member.java
#	src/main/java/roomescape/member/MemberService.java
#	src/main/java/roomescape/reservation/MyReservationResponse.java
#	src/main/java/roomescape/reservation/Reservation.java
#	src/main/java/roomescape/reservation/ReservationController.java
#	src/main/java/roomescape/reservation/ReservationRepository.java
#	src/main/java/roomescape/reservation/ReservationService.java
#	src/main/java/roomescape/waiting/Waiting.java
#	src/main/java/roomescape/waiting/WaitingController.java
#	src/main/java/roomescape/waiting/WaitingService.java
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant