- Spring HandlerMapping 을 이용한 Controller 설정방법
1. BeanNameUrlHandlerMapping 클래스(HandlerMapping 설정을 하지않으면 기본으로 적용되는 클래스)
dispatcher-servlet.xml Controller 등록 예
<!-- Controller -->
<bean id="indexController" name="/index.html" class="controller.IndexController"
p:shopService-ref="shopService">
</bean>
※ Controller : 브라우져에서 URL요청이 오면 처리해야할 비지니스로직을 맵핑해주는 클래스
위의 예제를 보면 name="/index.html" 요청이오면 indexController 클래스에 정의된 서비스조직으로 넘긴다(shopService)
밑에 p:shopService-ref="shopService" 가 무조건 서비스를 처리한다는 것은 아니다.(거의 대부분 맞지만..)
Controller 클래스에서 인스턴스를 직접 생성하지않고, 스프링이 제공하는 객체를 받아서 사용할 때 설정하는 부분
Controller 클래스를 열어보면 아마도...
private Shop shopService;
public void setShopService(Shop shopService) {
this.shopService = shopService;
}
이 Setter 이 있을 것이고, 스프링이 자동으로 객체를 넘겨주는 역할을 한다.
즉 프레임워크 사용전에 Shop shopService = new Shop(); 를 안해도 사용이 가능케 하준다는 말!!!
위의, 1번 Controller 클래스(BeanNameUrlHandlerMapping) 를 사용하면 요청 URL 마다 일일이 컨트롤러 클래스를 맵핑을
해주어야 하는 번거로움이 심각하다. 걍 이런게 있다고 알고만 있자..
2. SimpleUrlHandlerMapping
dispatcher-servlet.xml Controller 등록 예
<!-- HandlerMapping -->
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/index.html=indexController
/detail.html=detailController
</value>
</proerty>
</bean>
<!-- Controller -->
<bean id="indexController" name="/index.html" class="controller.IndexController"
p:shopService-ref="shopService">
</bean
※ /index.html 이 요청이 오면 indexController 클래스로 맵핑
3. 한가지 더 있는데 그건 아직.. 공부중 나중에 올리자.
'공부 > SPRING(3.0)' 카테고리의 다른 글
SPRING_[Spring 외부 설정프로퍼티] (0) | 2013.01.17 |
---|---|
SPRING_[web.xml 의 ContextLoaderListener 등록] (0) | 2013.01.10 |
SPRING_[설정파일 (dispatcher-servlet.xml)] (0) | 2012.11.28 |
SPRING_[ 어노테이션 @Autowired 사용범] (0) | 2012.11.26 |
SPRING_[설정파일(XML)] (0) | 2012.11.23 |