자바(35)
-
스프링 공식 문서 뿌수기(13), Bean
늦어도 한참 늦은 것 같은 Bean 정리이다. ㅋㅋㅋㅋ 순서로 따지면 한참 이전에 진행했어야했지만 이제야 정리를 한다. 사실 Bean에 대해서는 알고 있지만 Bean을 정리하지 않고 공식문서 뿌수기 시리즈를 한다는 것이 말이 안되기 때문에 늦게나마 Bean에 대해 정리해보고자 한다. Bean Spring의 IoC container는 하나 이상의 빈들을 관리한다. 이러한 빈들은 configuration metadata와 함께 생성이 된다. 이러한 빈은 자바 코드로도 구성할 수 있고 XML로도 구성할 수 있다. 컨테이너에서 빈을 관리할 때는 다음과 같은 BeanDefinition을 가지고 있다. 여기에서 Dependency Injection과 Scope를 중심으로 알아볼 예정이다. (빈 이름 짓기 등등에 대..
2023.05.10 -
스프링 공식 문서 뿌수기(12), MVC config - WebMvcConfigurer
지난 포스팅에서 @EnableWebMvc 어노테이션에 대해 알아보았다. 짧게 요약할 수 있지만 개인적으로 이해가 안되기도 했고, 구성을 어떻게 할지 한참 고민하다가 어영부영 대충 마무리했다. 그런데 거기에 너무 시간과 정성을 많이 쏟은 나머지 분량을 초과해버리고... 정작 중요한 핵심을 다 못짚고 넘어갔다. 이번에는 MVC Config에서 중요한 핵심인 WebMvcConfigurer와 이를 활용해서 어떻게 Configuration을 등록하는지 알아보도록 하겠다. WebMvcConfigurer WebMvcConfigurer는 기본적으로 제공해주는 MVC Configuration을 커스터마이징할 수 있도록 인터페이스이다. 여기에서는 formatter도 등록할 수 있고, interceptors나 resolve..
2023.05.08 -
스프링 공식 문서 뿌수기(11), MVC config - @EnableWebMvc
이번에는 MVC Config에 대해서 한번 공부해보자~!! MVC Config 공식 문서에서 소개하고 있는 MVC Config는 서블릿을 포함한 환경에 대한 Configuration을 의미한다. '이전에 @Configuration 어노테이션을 활용하면 추가적인 환경설정을 할 수 있는 거 아니었나? 그런데 왜 또 나오지?'라고 생각할 수 있다. 맞다! @Configuration 어노테이션을 사용하는 것만으로도 Configuration이 가능하다. 그런데 이번 포스팅에서는 @EnableWebMvc 어노테이션을 사용해서 Configuration을 하는 과정에 대해서 알아볼 것이다. 글을 다 적고 보니 내용이 조금 어수선하다. 쭉 따라서 읽어도 정리가 안될 수 있으니 뒤 쪽의 요약을 보고 글을 다시 보는 것을 ..
2023.05.08 -
스프링 공식 문서 뿌수기(10), DispatcherServlet - handler 실습
지난 포스팅에서 HandlerMapping부터 handler에 값을 전달하는 것까지 대충 눈으로 확인해봤다. 그런데, 솔직히 이해가 잘 안된다. 그래서 이번 포스팅에서는 코드로 한번 작성해보면서 이를 확인해보려고 한다. DispatcherServlet handler 지난 포스팅에서 요약했던 내용을 한번 들고와 보자. 서블릿은 요청에 대해서 응답을 처리해주는 역할을 한다. 서블릿 컨테이너(혹은 웹 컨테이너)는 여러 개의 서블릿을 가지고 있어서 요청이 들어왔을 때 이에 맞는 서블릿을 동작시킨다. 여러 개의 서블릿 중에서 스프링에서 사용하는 서블릿은 dispatcherServlet이다. 가장 먼저 외부에서 요청이 들어오면 dispatcherServlet은 그 요청에 맞는 handler를 매핑한다. 기본적으로 ..
2023.05.06 -
스프링 공식 문서 뿌수기(9), DispatcherServlet - 동작 과정
일주일동안 푹 쉬었다가 다시 돌아왔다! 해야지 마음을 먹으면서도 웹 자동차 경주 미션 이후로 미션 기간에는 미션에만 집중하자!라는 생각으로 이번주는 미션만 했었다.(조금 놀기도 하고) 그래서 공식문서를 읽으며 공부하는게 조금 늦어졌다. ㅎㅎ 이번에는 DispatcherServlet에 대해서 한번 정리해보고자 한다. 사실 스프링 스터디를 진행 중인데 이번에 맡은 파트는 MVC Config 였지만 그 전에 DispatcherServlet에 대해 정리하면 학습에 더 도움이 될 것 같아 이렇게 먼저 정리하고자 한다. DispatcherServlet ... 딱 봐도 내용이 많다. 실제로 공식문서 들어가서 보면 내용이 정말 많다는 것을 알 수 있다. 뭐 이 시간에 다 아는 것을 목표로 하지 말고 가볍게 동작 원리에..
2023.05.06 -
int price에 @NotNull을 사용할 때, price가 null이어도 동작한다고?
이번 웹 장바구니 미션을 진행하면서 Validation과 같은 어노테이션을 한번 적용해봤다. Validation Validiation은 어노테이션을 기반으로 어떤 변수의 값을 제한할 수 있도록 돕는다. 이번 미션을 진행하면서는 필드 위 쪽에 Validation 관련 어노테이션을 붙여서 사용했지만 메서드 인자 앞에 어노테이션을 붙여서 사용하거나 리턴값에서도 사용할 수 있다. baeldung에서는 Validation 관련 어노테이션에 대해 아래와 같이 설명하고 있다. @NotNull validates that the annotated property value is not null. @AssertTrue validates that the annotated property value is true. @Size..
2023.04.27