2016년 11월 7일 월요일

74day / Framework / springMVC Interceptor & JUnit

Interceptor & JUnit
말로만 듣던 TDD와 Interceptor를 활용해보았다


  • TDD
테스트 주도 개발(Test-Driven Development, TDD)
매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스


  • JUnit
자바 단위 테스트를 위한 TDD 프레임워크

ex)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"xml설정파일주소"})
public class TestJUnit {
    @Test
    public void test(){
        System.out.println("메서드 테스트");
    }
}
cs



  • Spring Handler Interceptor
DispatcherServlet이 해당 컨트롤러를 호출하기 전,후
요청과 응답을 제어하는 역할을 한다.

실행전 preHandle (request, response, handler)
실행후 postHandle (request, response, handler)
응답완료 afterCompletion (request, response, handler)

ex) web.xml Setting
개 카페)
<mvc:interceptors>
    <mvc:interceptor>
    * 적용할 위치를 지정한다
        <mvc:mapping path="/test*.do"/>
        <mvc:mapping path="/testCheck.do"/>
        <bean class="InterceptorCotroller 위치지정"></bean>
    </mvc:interceptor>
</mvc:interceptors>
cs

ex) Controller Setting
public class LoginCheckInterceptor extends HandlerInterceptorAdapter {
    
         Return Type boolean
         true -> Handler(Controller) 수행 
         false -> Handler(Controller) 수행하지 않는다 
         
    @Override
    public boolean preHandle (HttpServletRequest request,
    HttpServletResponse response, Object handler) throws Exception {
            return false;
                OR
            return true;
    }
}
cs
spring에서 제공하는 HandlerInterceptorAdapter 를 상속받아
위와 같은 method를 오버라이딩해서 사용한다
Controller에 적용할 공통관심사항(공통기능)에 대한 일괄처리

0 개의 댓글:

댓글 쓰기