본문 바로가기

Spring

(3)
Argument Resolver 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com Argument Resolver란? 컨트롤러의 메서드에 특정 조건에 맞는 파라미터가 있을 때, 값을 바인딩해주는 역할을 하는 것입니다. 쉽게 말해서 컨트롤러가 호출될 때, 메서드의 인자들을 검사하여 알맞은 처리를 해줍니다. 사실 우리는 Spring을 사용하면서 자연스럽게 Argument Resolver을 사용하고 있었습니다. Controller의 파라미터로 ModelMap이나 HttpServletRequest 등을 사용해보신 적이 있으실 것인데요, 우리가 직접 값을 넣어주지도 않았는데 파라미터로 선언만 하면 쉽게 사용할 수 있었습니다. Spring에서 내부적으로 Argument Resolver가 동작하고 있었기 때문입..
Interceptor 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com Interceptor란? 스프링에서도 Interceptor는 중간에 요청을 가로채서 처리를 해주는 기능을 합니다. 클라이언트로부터 들어오는 요청과 Controller을 거쳐 나가는 응답을 가로채서 특정 처리를 해주는 녀석입니다. 그림으로 보는 Interceptor 클라이언트의 요청은 DispatcherServlet을 거친 이후에 Controller로 가기 전에 Interceptor을 거치게 됩니다. 그렇다고 해서 모든 요청이 interceptor을 거쳐야만 하는 것은 아닙니다. 개발자가 설정하기에 따라 특정 URL을 요청할 때만 Interceptor을 거치게 할 수 있습니다. Interceptor 사용 이유 인터셉터는..
Controller 훈수/저작권 관련 지적 환영합니다 - 댓글 또는 audgnssweet@naver.com Controller MVC 디자인 패턴에 대해서 들어보셨을 것입니다. 아래 그림을 보겠습니다. Controller는 사용자의 요청이 들어오는 곳입니다. 해당 요청에 대한 실질적인 처리도 Controller가 담당하지는 않습니다. 처리 자체는 Model에게 맡기고 결과만 받아서 View에게 전달, 사용자에게 보여주게 됩니다. Controller의 사용 이유 Controller의 사용 이유 == MVC 아키텍처의 등장 이유 개발 초기에는 MVC의 구분 없이 한 소스에 전부를 구현했다고 합니다. 초기 개발 자체는 편할지 몰라도, 코드 전체가 엉켜있다 보니 유지 보수가 힘들고, 요구사항의 변화에 유연하게 대처하기 힘들었다고 ..