본문 바로가기

Spring

간단한 annotation을 사용한 controller 작성하기..

spring 2.5 에서는 어노테이션을 이용한 컨트롤러 작성이 가능합니다.

이제는 너무 흔한 얘기지만 나름 정리하는 차원에서 그냥 적어둡니다.

일단, 어노테이션을 사용하기 위해선 클래스를 작성해야지요?

원래 controller 클래스를 작성하려면

Controller나 AbstractController를 구현해줘야 합니다만 어노테이션을 사용하면 그런 과정은 생략됩니다.

@Controller 이것만으로 컨트롤러의 작성이 가능합니다.


@Controller
public class BasedController {

 Logger logger = Logger.getLogger(BasedController.class);
 
 @RequestMapping("/search/search.gs")
 public ModelAndView search() {
  logger.debug("searching.....");
  ModelAndView mav = new ModelAndView();
  mav.setViewName("main");
  return mav;
 }
}

이렇게 @Controller 어노테이션이 적용된 클래스는 xml 설정 파일에 등록하면 됩니다.

<bean id = "basedController" class="..." />

그리고,
<bean
  class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
 </bean>
이렇게 핸들러 클래스를 등록해줘야 합니다.

@RequestMapping에 의해 /serch/serch.gs url로 위 컨트롤러 클래스가 매핑 되구요
실행이 됩니다.

매번 어노테이션이 적용된 클래스를 등록하는게 번거롭다면
<context:component-scan
  base-package="com.tistory.devyongsik" />
이렇게 패키지를 등록해줌으로써 자동으로 컨트롤러로 사용 할 수 있습니다.