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

[MVC 구현 - 3단계] 하디(전동혁) 미션 제출합니다. #558

Merged
merged 10 commits into from
Sep 25, 2023

Conversation

jundonghyuk
Copy link

안녕하세요 폴로 ! 주말에도 리뷰 해주시다니 감사합니다..

이에 보답하기위해 주말에 구현을 해보았어요 잘 부탁드립니다 !

이번 단계는 요구사항에 나와있는 것들을 하는 것이라 딱히 말씀드릴 부분은 없는 것 같아요 ! (JspView, JsonView...)

그리고 DI 미션도 진행해보았는데 재밌더라구요.. 강추요.. 잘 부탁드려요 ㅎㅅㅎ

Copy link

@green-kong green-kong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이에 보답하기위해 주말에 구현을 해보았어요 잘 부탁드립니다 !

보답을... 이상한 방식으로.. 하시네요...?ㅋㅋㅋㅋㅋㅋㅋ
저도 복ㅅ..가 아니라 보답 하기위해 일요일 10시 다 돼서 리뷰 남깁니다^^

아 구현된 코드는 제거랑 거의 99% 일치해서(다른 분들도 거의 마찬가지일 듯 합니다 ㅋㅋ) 딱히 남길코멘트가 없네요..!

아, 코멘트 남긴 것 이외에도 궁금한 점이 하나 있는데요.
혹시 DispatcherServletInitializer도 패키지 이동을 시도해보셨나요..?

저는 ~Initializer 의 패키지도 mvc로 옮기고 싶어서 한번 옮겨봤더니,
아예 동작을 안하더라구요ㅠ
이유를 찾아보려다가 도오오오오저히 못찾아서 하디는 어떠셨는지 궁금하네요!


public class JsonView implements View {

@Override
public void render(final Map<String, ?> model, final HttpServletRequest request, HttpServletResponse response) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

render() 메서드가 호출될 때 마다 새로운 objectMapper가 생성되겠네요!
저라면 static 필드로 갖게 할것 같은데, 이렇게 하신 특별한 이유가 있을까요?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

어차피 유틸성 같은 느낌이니 한 번만 생성해줘도 되겠군요 ! 캐치하지 못했습니다. 감사합니다.

그런데 현재 JsonView같은 경우 멤버변수(?)를 가지고 있지 않아 그 자체로 싱글톤이 되어도 될 것 같은데 어떻게 생각하시나요 ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오.. 생각해보지 못한 부분인데 현재 구조에선 충분히 가능할 것 같네요!

@jundonghyuk
Copy link
Author

이에 보답하기위해 주말에 구현을 해보았어요 잘 부탁드립니다 !

보답을... 이상한 방식으로.. 하시네요...?ㅋㅋㅋㅋㅋㅋㅋ 저도 복ㅅ..가 아니라 보답 하기위해 일요일 10시 다 돼서 리뷰 남깁니다^^

아 구현된 코드는 제거랑 거의 99% 일치해서(다른 분들도 거의 마찬가지일 듯 합니다 ㅋㅋ) 딱히 남길코멘트가 없네요..!

아, 코멘트 남긴 것 이외에도 궁금한 점이 하나 있는데요. 혹시 DispatcherServletInitializer도 패키지 이동을 시도해보셨나요..?

저는 ~Initializer 의 패키지도 mvc로 옮기고 싶어서 한번 옮겨봤더니, 아예 동작을 안하더라구요ㅠ 이유를 찾아보려다가 도오오오오저히 못찾아서 하디는 어떠셨는지 궁금하네요!

저도 찾아봤는데요 !

mvc/src/main/java/web/org/springframework/web/SpringServletContainerInitializer.java 이놈의 onStartUp의 인자로

Set<Class<?>> webAppInitializerClasses가 들어오는데요.

이 set안에 DispatcherServletInitializer가 들어오지 않네요..

명시적으로

final List<WebApplicationInitializer> initializers = new ArrayList<>();
initializers.add(new DispatcherServletInitializer()); //추가

왜 인자로 디스패쳐 이니셜라이저가 안들어오는지는 깊게는 안알아봐서 모르겠네요 ㅠㅠ 스캐닝을 못하는건지..

리뷰는 반영했습니다 !

Copy link

@green-kong green-kong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠르게 반영해주셔서 감사합니다!
학습테스트도 모두 진행해주셨고, 제 코멘트에 답변도 잘해주셔서 merge하도록 할게요!

하디랑 함께한 mvc 미션 너무 즐거웠습니다!
남은 미션도 화이팅입니다!!🔥🔥🔥🔥


public class JsonView implements View {

@Override
public void render(final Map<String, ?> model, final HttpServletRequest request, HttpServletResponse response) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오.. 생각해보지 못한 부분인데 현재 구조에선 충분히 가능할 것 같네요!

@green-kong green-kong merged commit a6ab1c3 into woowacourse:jundonghyuk Sep 25, 2023
1 check failed
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.

2 participants