본문 바로가기

Tech/Spring

[Spring] Controller

1. Controller 인터페이스 구현

  • 스프링 초기에는 Controller 인터페이스를 구현하여 사용
public IndexController implements Controller { 

@Override 
public ModelAndView handleReqeust(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { 
    return new ModelAndView; 
    }
}

2. @Controller 어노테이션 이용

  • 스프링 2.5 이상부터는 인터페이스를 구현하지 않고 @Controller 어노테이션을 이용하여 쉽게 사용가능
@Controller 
public class IndexController { 
    ... 
}
<bean id="IndexController" class="package path.IndexController" />

하지만 dispatcher servlet 설정에서 등록을 해줘야 함
여러 개의 컨트롤러 사용시 일일히 등록해야 함

3. component-scan 이용

<context:component-sacn base-package="package path" use-default-filters="false"> 
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>

use-default-filters 는 명시해주지 않으면 true 이다. 이는 @Component, @Service, @Repository, @Controller 와 같은 어노테이션을 자동등록 처리해준다
하지만 false 값을 설정하면 scan하지 않고 include 등록을 통해 특정 어노테이션을 scan 하도록 설정이 가능하다.
반대로 exclude 설정을 주면 해당 어노테이션을 scan 하지 않는다

'Tech > Spring' 카테고리의 다른 글

[Spring] ViewResolver  (0) 2019.04.14
[Spring] Controller Retrun Type 종류  (0) 2019.04.14
[Spring] Controller  (0) 2019.04.14
[Spring] HandlerMapping  (0) 2019.04.14