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] 조태현 제출합니다. #64

Open
wants to merge 24 commits into
base: whxogus215
Choose a base branch
from

Conversation

whxogus215
Copy link

@whxogus215 whxogus215 commented Jul 8, 2024

안녕하세요 리뷰어님! 오늘로 4개월 간 진행된 스터디 미션이 마무리가 됐습니다. 그동안 미션 구현과 더불어 많은 분들의 코드 리뷰하시느라 수고 많으셨습니다. 남아있는 해커톤에서도 좋은 결과 있길 바라겠습니다 😄

저는 이번 미션을 통해 컴포넌트 스캔 방식과 스프링 프로필 설정에 대해 배울 수 있었습니다.
특히 JWT 토큰 로직이 담긴 클래스의 패키지 authroomescape 패키지와 같은 레벨에 있어야 해서 해당 빈들이
어떻게 등록이 되어야 할지 고민해보았습니다. @ComponentScan이 포함된 SpringBootApplicationroomescape 패키지에 존재하기 때문에 별도로 auth 패키지도 컴포넌트 스캔 대상으로 등록해야 된다고 판단했습니다.

@Import(AuthConfig.class)
@SpringBootApplication
public class RoomescapeApplication {
    public static void main(String[] args) {
        SpringApplication.run(RoomescapeApplication.class, args);
    }
}

검색 결과, 다양한 방법이 있었지만 저는 설정 파일을 Import하는 어노테이션인 @Import를 활용하였습니다. 리뷰어님께서는
어떠한 방식을 활용하셨는지도 궁금합니다! 코드에 대한 피드백은 자유롭게 해주세요~

미션 커밋 범위

whxogus215 added 24 commits July 2, 2024 11:43
- Service 또는 Controller가 JpaRepository를 상속받은 Repository 인터페이스를 의존하도록 수정
- Reservation 엔티티에 @manytoone 속성 추가
- ReservationDao 대신 ReservationRepository로 변경
- application.properties에 ddl-auto 및 sql 쿼리문 볼 수 있는 설정 값 추가
- schema.sql에 DDL문(CREATE) 주석처리 : 이미 JPA에서 자동으로 DDL문 생성하고 있기 때문
- Reservation은 Member를 알아야 하므로 단방향 @manytoone 추가
- 어드민은 이름으로 예약을 추가
- 사용자는 멤버ID로 예약을 추가
- Response DTO에 대기순서 필드 추가
- Repository에 JPQL로 COUNT 함수 호출
- Optional로 감싸기
- RuntimeException 대신 커스텀 예외, 에러 메시지 Enum 사용
- 사용 안하는 메서드 삭제
- JWT 관련 로직 패키지 분리
- 수동 빈 등록
- auth 패키지를 roomescape 외부로 분리
- AuthController의 로직을 MemberController에 병합
- @componentscan이 붙은 @SpringBootApplication이 위치한 roomescape 패키지 외부에 있는 설정 파일도 스캔하기 위해 @import(설정파일 추가에 사용)를 사용
- 데이터 로더 수동 빈 등록
- 각 데이터로더에 프로필 추가
- JWT 시크릿 키 외부 설정 파일로 분리 후 테스트 완료
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