Custom Annotation 만들기 - AOP(Aspect-Oriented Programming) 이전에 작성했던 포스트에 이어서 커스텀 어노테이션을 만드는 방법 중에서 AOP를 이용해서 커스텀 어노테이션을 만들어보자. 1. AOP를 이용한 방법 Spring AOP를 사용해서 어노테이션을 처리하는 로직을 분리한다. 이 방법은 비즈니스 로직과 어노테이션 처리 로직을 분리하여 유지보수가 쉽고, 코드가 깔끔해진다. 특히 Spring 프레임워크에서 많이 사용되며, @Transactional, @Cacheable 등이 이러한 방식으로 구현되어 있다. @Aspect public class MyCustomAspect { @Around("@annotation(MyCustomAnnotation)") public Ob..
Spring
Custom Annotation 만들기 - 메타 어노테이션 회사 프로젝트에서 로그인 안 한 유저와 로그인 한 유저가 사용할 수 있는 기능을 하나의 Controller에 모두 모여있는 상황이었다. 그래서 로그인을 해야만 사용할 수 있는 기능에 인가된 회원인지 확인하는 어노테이션을 커스텀으로 만들어보려고 한다. 1. 간단 프로세스 설명 해당 프로젝트에서 사용자 인증에 JWT를 사용하고 있다. 로그인에 성공하면 accessToken을 요청의 'Authorization' 헤더에 담아 보내고, 로그인한 사용자의 아이디를 토큰의 'claim'에 추가해 준다. 인가된 회원인지 확인하는 방법은 Controller 단계에서 요청이 들어온 header에 Authorization 요소가 있는지 확인하고, 그 토큰에서 use..