본문 바로가기

Dev. Java/Dev.Spring

(22)
커스텀 ArgumentResolver 등록하기 개요스프링 사용시 컨트롤러에 들어오는 파라미터나 리턴타입을 나한테 맞게 가공해서 사용하고 싶을 때가 있다.. 기존에는 WebArgumentResolver를 구현해서 AnnotationMethodHandlerAdapter에 등록을 해야 했는데, 스프링 3.2버전 부터는 deprecated 된 상태다. 지금은 RequestMappingHandlerAdapter 클래스가 담당하는데, 이 클래스에서는 WebArgumentResolver가 HandlerMethodArgumentResolver로 바뀌었다.예제request 파라미터 수집을 Map 형태로 하는 클래스를 만들어서 등록해보자. 먼저 Spring Project로 생성한 뒤, 파라미터 수집하는 클래스를 생성하자. ParamCollector.javapackag..
DispatcherServlet란 도데체 무엇일까? [출처] http://springmvc.egloos.com/504151 스프링MVC는 DispatcherServlet 등장으로 정말 엄청나게 web.xml의 역할이 축소되었습니다. 예전같으면 서블릿을 URL로 활용하기 위해선 반드시 web.xml에 등록해야 했지만 이젠 DispatcherServlet이 해당 어플리케이션으로 들어오는 요청을 모두 핸들링해주니 말이죠. 물론 아직까지 web.xml의 역할은 중요합니다. 으로 DispatcherServlet을 등록해줘야 하는데다 이 객체의 URL 적용범위 또한 web.xml에다 설정해야 하구요. 향후 고급서비스를 위해 나 를 등록하는 역할 또한 web.xml의 기능으로 남아 있습니다. 대신 앞으로 web.xml에서 가장 주요하고 자주 쓰이는 기능인 매핑은 이제..
스프링 MVC 프로젝트 템플릿 구조
스프링이 도대체 뭐란 말인가? http://springmvc.egloos.com/487497 본 문서를 읽는 독자들에게 부탁하나 하노라면 토비의 스프링 3와 함께 읽어주길 바란다.많은 부분이 이 책에서 인용되었고 필자 또한 책을 읽고 이해가 가지 않는 부분에 대해 적어놓는 형태인지라책과 함께 블로그를 읽는다면 큰 도움이 될 것이라 생각되기 때문이다. 토비의 스프링은 다음과 같이 말한다. 스프링은 거대한 컨테이너임과 동시에 Ioc/DI를 기반으로 하고 있는 거룩한 존재이며 서비스 추상화를 통해 삼위일체로 분리되는 3단 변신로봇이라고 한다. 이럴수가! 뭔말하는지는 하나도 모르겠지만 일단 말만 들어도 엄청난데다 가격까지 공짜다. 게다가 이걸 쓰는 사람들마다 칭찬 또 칭찬 일색이니 궁금해서 참을 수가 없다. 근데 말이다…. 필자는 스프링의 ..
스프링 MVC 컨트롤러의 역할 스프링 MVC의 컨트롤러는 무엇을 처리해 주는가? 1. 파라미터의 수집 웹에서 가장 많이 하는 작업은 사용자의 요청에 필요한 데이터를 추출하고, 이를 VO 또는 DTO로 변환하는 파라미터의 수집 작업입니다. 스프링 MVC의 컨트롤러는 이렇ㄴ 처리를 자동으로 해 주기 때문에 개발 시간을 크게 단축할 수 있다. 2. 애노테이션을 통한 간편 설정스프링 MVC의 ㅅㄹ정은 크게 XML과 애노테이션을 사용할 수 있지만, 애노테이션을 사용하는 경우가 더 많습니다. 애노테이션을 사용하기 때문에 개발자는 클래스나 메소드의 선언에 필요한 애노테이션을 추가하는 작업을 통해서 요청이나 응답에 필요한 모든 처리를 완료할 수 있습니다. 3. 로직의 집중기존의 모델2는 특정한 URI마다 컨트롤러를 개발하는 경우가 많았지만, 스프링..
contextConfigLocation / org.springframework.web.context.ContextLoaderListener(스프링 설정파일 읽기) 스프링에서는 설정파일에서 모든 것을 명시해주기 때문에 설정파일이 중요한데 설정파일 안에는 dataSource, bean(dao, service) 등 필요한 모든 객체가 다 들어있다. 그럼 이 설정파일들은 어떻게 해서 컨테이너 안에서 동작을 하는지? 어떻게 xml 설정파일을 읽는지 스프링 프레임웍이 어떻게 동작하는지 궁금하다. 가장 기본은 web.xml 파일에 스프링 설정 파일을 명시해주면 된다는 것. 스프링 설정파일을 읽어 들이기 위해서 org.springframework.web.context.ContextLoaderListener 가 필요하다. 이 리스너가 동작해야 설정파일을 읽어들이고 필요한 객체들을 등록하고 만드는 것이다. 그럼 리스너는 동작을 하는데 설정파일의 위치를 알려주어야 할 것이 아닌가 그..