티스토리 뷰
Spring 3.2 부터 이 @ControllerAdvice가 생겼다고 한다.
컨트롤러 서비스 퍼시스턴스 단에 발생할 수 있는 예외를 이 어노테이션을 지정한 클래스에서 공통적으로 관리 해 줄 수 있다.
사용 방법은 간단하다.(세부적으로 들어가면 간단하지 않음.)
보는 것처럼 스프링 빈을 정의해주는 config파일에 구문을 넣어준다.
context:component-scan이라는 것은 bean엘리먼트를 정의하지 않아도 자동으로 해당 패키지에 있는 @compoenet, @service, @controller 등을 알아서 스캔해 인스턴스를 생성해준다.
안에 있는 context:include-filter는 스프링이 제공하는 기본필터를 사용하지 않고 @ControllerAdvice의 클래스를 사용하겠다는 뜻..
다음은 실제 @ControllerAdvice가 적용된 클래스이다.
보는 것처럼 세부적으로 들어가지 않고 기본적인 예외를 받고 페이지를 예외페이지로 이동하는 예다.
위와 같은 코드의 경우 서비스 도중 SQLException을 만나면 /excep/default 페이지로 이동이 된다.
물론 페이지 경로는 servlet-context.xml에 정의된 InternalResourceViewResolver인스턴스에 따라 이동 될 것이다.
'SPRING > 정리' 카테고리의 다른 글
JUnit 테스트 (0) | 2016.04.22 |
---|---|
[spring] google recapcha 자동가입방지 (0) | 2016.03.24 |
PROFILE 기능으로 서버설정과 로컬 설정을 구분하여 사용하기. (0) | 2016.01.14 |
객체검증 @Valid 사용하기 (0) | 2015.12.05 |
gmail smtp를 이용하여 spring 메일 보내기 기능 구현 (2) | 2015.10.23 |
Comments