파라미터 어노테이션 생성

파라미터에 붙여서 쓰는 @어노테이션을 만드는 법

 

1. 어노테이션 클래스 파일 생성

[LoginUser.java]

어노테이션 LoginUser 생성하는 소스.

- @Target의 인자로 파라미터나 클래스를 넘겨서 어디에 쓰는 어노테이션인지 지정.

- @interface는 어노테이션 클래스로 지정한다는 뜻.

 

2. HandlerMethodArgumentResolver 구현 클래스 생성

[LoginUserArgumentResolver.java]

생성한 어노테이션을 사용할 수 있게 HandlerMethodArgumentResolver를 구현함.

- supportsParameter 함수 구현 내용 : @LoginUser 어노테이션 여부 확인, 어노테이션의 타입이 SessionUser인지 확인

- resolveArgument 함수 구현 내용 : 세션에 저장된 user를 리턴함. 세션에 user를 저장하는 소스는 로그인 하는 소스에 따로 구현되어있음.

 

3. WebMvcConfigurer 구현체에 추가

[WebConfig.java]

WebMvcConfigurer를 구현하는 소스인데, 여기서 아까 만든 LoginUserArgumentResolver를 추가해주면 끝.

WebMvc

 

4. 어노테이션 사용 예제 (@LoginUser SessionUser user)

@LoginUser 어노테이션을 사용할 수 있음.

 

 

 

구조는 자유!

이 글을 공유하기

댓글

Designed by JB FACTORY