파라미터 어노테이션 생성
- Java/SpringBoot
- 2022. 3. 16. 23:19
파라미터에 붙여서 쓰는 @어노테이션을 만드는 법
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 어노테이션을 사용할 수 있음.
구조는 자유!
'Java > SpringBoot' 카테고리의 다른 글
[JUnit] InvalidTestClassError (0) | 2022.04.04 |
---|---|
세션 저장소로 데이터베이스 사용하기 (0) | 2022.03.16 |
JPA에서 실제 실행 쿼리(SQL) 로그 설정 ON/OFF (0) | 2022.03.07 |
[JPA] Entity와 Repository (0) | 2022.01.12 |
2021.12.31 Springboot2 build.gradle 백업본 (0) | 2021.12.31 |
이 글을 공유하기