스프링 공식문서 뿌수기(5)
-
스프링 공식 문서 뿌수기(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 -
스프링 공식 문서 뿌수기(8), Model
이번에는 지난 포스팅에서 언급한 Model에 대해서 한번 정리해보고자 한다. Model @ModelAttribute 어노테이션을 사용하는 경우에는 WebDataBinder를 통해서 request 받은 값을 객체로 바인딩할 수 있다. @ControllerAdvier 어노테이션을 사용한 컨트롤러 또한 @ModelAttribute를 사용할 수 있다. @ModelAttribute 어노테이션을 사용한 메서드는 @ModelAttribute나 request body와 연관된 어노테이션을 제외한 @RequestMapping에서 사용하는 메서드들을 지원한다. request body와 관련되었다는 것은 아마 @RequestBody와 같이 Jackson 라이브러리를 사용하는 어노테이션을 의미하는게 아닐까싶다. 아래 예시는 ..
2023.04.27 -
스프링 공식 문서 뿌수기(7), Hanlder Methods - 데이터 바인딩 과정
5, 6번 시리즈는 잠깐 빠져서 IoC Container에 대해 포스팅했다. 이번에는 다시 돌아와서 Annotated Controller의 Handler Methods에 대해 정리해보도록 하겠다! (진작 했어야했는데~~) Handler Methods @RequestMapping 어노테이션을 사용하면 여러가지 핸들러 메서드를 사용할 수 있다. Method Arguments 메서드 인자로는 정말 다양한 타입의 인자들이 들어갈 수 있다. 너무 많기 때문에 해당 부분에 대해서는 링크를 남기도록 하겠다. https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-methods 지금 단계에서 자주 사용하는 내용들만 먼저 정..
2023.04.26