본문 바로가기
IT/spring

스프링 Before 어드바이스

by 뉴코딩맨 2023. 6. 19.
스프링 AOP(Aspect-Oriented Programming)에서 Before 어드바이스는 Advice(관점)의 일종으로, 타겟 메서드 실행 전에 실행되는 로직을 구현하는 역할을 합니다. 스프링 Before 어드바이스의 개념과 사용 방법, 그리고 예시를 통해 자세히 알아보겠습니다.
 
 

Before 어드바이스란?

Before 어드바이스는 타겟 메서드가 실행되기 전에 실행되는 코드 블록입니다. 주로 메서드 실행 이전에 필요한 전처리 작업을 수행하는 데 사용됩니다. 예를 들어, 인증, 로깅, 트랜잭션 관리 등의 공통적인 기능을 Before 어드바이스로 구현할 수 있습니다.

 

 

Before 어드바이스의 구현 방법

스프링에서 Before 어드바이스를 구현하는 방법은 다음과 같습니다.
  1. Aspect 클래스 생성: Before 어드바이스를 구현할 Aspect 클래스를 생성합니다. 이 클래스는 @Aspect 어노테이션으로 표시되어야 합니다.
  2. Before 어드바이스 메서드 정의: Before 어드바이스를 적용할 메서드를 정의합니다. 메서드는 @Before 어노테이션으로 표시되어야 하며, Advice로 실행될 로직을 구현합니다.
  3. Pointcut 설정: Before 어드바이스가 적용될 타겟 메서드를 선택하기 위해 Pointcut을 설정합니다. @Before 어노테이션 내에 Pointcut 표현식을 작성합니다.

 

 

Before 어드바이스 예시

다음은 Before 어드바이스의 예시입니다.
 
@Aspect
@Component
public class LoggingAspect {
    @Before("execution(* com.example.service.UserService.*(..))")
        public void beforeAdvice() {
        System.out.println("메서드 실행 전 로그 출력");
    }
}
 
위의 예시에서는 LoggingAspect라는 Aspect 클래스를 정의하고, @Before 어노테이션을 통해 Before 어드바이스를 구현합니다. Pointcut 표현식인 execution(* com.example.service.UserService.*(..))은 UserService 클래스의 모든 메서드에 Before 어드바이스를 적용하도록 설정됩니다. 메서드 실행 전에 "메서드 실행 전 로그 출력"이라는 로그가 출력됩니다.
 
 

마무리

Before 어드바이스는 스프링 AOP에서 메서드 실행 전에 필요한 전처리 작업을 수행하는 데 사용됩니다. Aspect 클래스에서 @Before 어노테이션을 사용하여 Before 어드바이스를 구현하고, Pointcut을 설정하여 적용할 타겟 메서드를 선택합니다. 이를 통해 공통적인 기능을 간편하게 구현할 수 있습니다. 위 예시를 참고하여 스프링 프로젝트에서 Before 어드바이스를 적용해보세요.
 

'IT > spring' 카테고리의 다른 글

스프링 어드바이스(Advice)  (0) 2023.06.20
스프링 포인트컷(Pointcut)  (0) 2023.06.19
스프링 AOP Join Point  (0) 2023.06.18
스프링 AOP (Aspect-Oriented Programming)  (0) 2023.06.17
스프링 Service 클래스  (0) 2023.06.16

댓글