Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

번개멍

[Spring]AOP Interceptor 본문

코딩이야기/Spring

[Spring]AOP Interceptor

번개멍 2020. 7. 10. 10:40

.Interceptor

AOP를 적용한 Spring MVC의 요소입니다.

Interceptor는 요청 주소에 대해 관심을 갖고 요청이 발생하게 되면 요청 주소를 확인하여 Controller의 메소드를 호출 하기 전이나 후에 다른 메소드를 호출 할 수 있도록 가로 채 가는 개념이다.

요청 발생시 호출되는 메소드의 코드가 중복 되는 부분이 있을때 Interceptor를 통해 처리하게 됩니다.

로그인 여부 확인, 등급별 서비스 사용 권한 확인 등의 작업을 처리할 때 많이 사용합니다.

Interceptor는 Java 프로젝트와 XML 프로젝트의 셋팅 방법이 각각 다릅니다.

 

Interceptor 구현

Interceptor는 HandlerInterceptor 인터페이스를 구현하거나 

HandlerInterceptorAdapter를 상속받은 클래스를 만들고 다음 메소드를 구현합니다.

- preHandle : Controller의 메소드가 호출되기 전 호출 됩니다. 이 메소드가 false를 반환하면 코드의 흐름이 중단됩니다.

- postHandle : Controller의 메소드가 수행이 완료되고  View 처리를 수행하기 전에 호출됩니다.

- afterCompletion : view 처리까지 완료되고 응답결과가 브라우저로 전달되기 전에 호출됩니다.

 

   public void addInterceptors(InterceptorRegistry registry){

 

   }

 

<interceptors>  </interceptors>

 

pattern

- * : 이름 하나를 의미하며 글자수, 글자 등 제한이 없습니다.

- ? : 글자 하나를 의미합니다.

- ** : 하위 이름까지 포함하여 글자수 글자 등 제한이 없습니다.

 

Pattern 등록

-addPathPatterns, <mappint> : Interceptor 가 가로채 갈 주소를 등록합니다.

-excludePathPatterns, <exclude-mapping> : Interceptor가 가로채 가지 않을 주소를 등록합니다.

 

'코딩이야기 > Spring' 카테고리의 다른 글

[Spring]Execution  (0) 2020.07.06
[spring]AspectJ  (0) 2020.07.06
[Spring] 어노테이션 정리  (0) 2020.07.01
[Spring] 자동주입  (0) 2020.06.30
[Spring]스프링의 이해?  (0) 2020.06.25
Comments