본문 바로가기
IT/spring

스프링 After 어드바이스 (After Advice)

by 뉴코딩맨 2023. 6. 20.
스프링 프레임워크는 AOP(Aspect-Oriented Programming)를 지원하여 핵심 비즈니스 로직과 부가적인 기능을 분리하여 개발할 수 있습니다. After 어드바이스는 AOP의 한 종류로, 핵심 로직 실행 후에 실행되는 보조 기능을 구현하는 데 사용됩니다. 스프링의 After 어드바이스에 대해 소개하고, 사용법과 예시를 설명하겠습니다.
 
 

After 어드바이스란?

After 어드바이스는 스프링 AOP에서 사용되는 어드바이스의 한 종류로, 핵심 로직 실행 후에 실행되는 메서드를 정의하는 역할을 합니다. 핵심 로직의 실행 결과에 대한 후속 작업을 수행할 수 있으며, 예외가 발생했을 때에도 실행됩니다. After 어드바이스는 보통 로깅, 트랜잭션 처리, 자원 해제 등과 같은 부가적인 작업을 수행하는 데 활용됩니다.
 
 

사용법

스프링에서 After 어드바이스를 구현하려면 다음과 같은 단계를 따릅니다:
  1. After 어드바이스를 구현할 클래스를 작성합니다.
  2. 메서드에 @After 어노테이션을 추가합니다.
  3. 어드바이스로 실행될 메서드를 정의하고, 필요한 후속 작업을 구현합니다.
 
@Component
public class AfterAdviceExample {
    @After("execution(* com.example.MyService.myMethod(..))")
    public void afterAdvice() {
    	// 후속 작업을 수행하는 코드
    }
}
 
위의 예시에서는 MyService 클래스의 myMethod 메서드 실행 후에 afterAdvice 메서드가 실행됩니다. @After 어노테이션은 실행될 대상 메서드를 지정하고, 이후에 실행될 후속 작업을 afterAdvice 메서드에서 구현합니다.
 
 

예시

아래는 After 어드바이스를 사용한 예시입니다. 가정해보겠습니다. 주문 서비스에서 주문이 완료된 후에 로깅 작업을 수행하고자 합니다.
 
@Component
public class OrderService {
    
    public void placeOrder(Order order) {
        // 주문 처리 로직

        // 주문 완료 후에 로깅 작업
        logOrder(order);
    }

    private void logOrder(Order order) {
    	// 주문 정보를 로깅하는 코드
    }
}
 
위의 예시에서는 placeOrder 메서드가 실행된 후에 logOrder 메서드가 실행되어 주문 정보를 로깅합니다. 이때 After 어드바이스를 사용하여 logOrder 메서드를 실행하도록 구현할 수 있습니다.
 
 

결론

After 어드바이스는 스프링 AOP에서 핵심 로직 실행 후에 실행되는 보조 기능을 구현하는 데 사용됩니다. 주로 후속 작업을 수행하거나 예외 처리를 위한 작업을 수행하는 데 활용됩니다. After 어드바이스를 사용하여 핵심 로직의 실행 이후에 필요한 작업을 쉽게 추가할 수 있으며, 코드의 재사용성과 모듈성을 높일 수 있습니다.

 

 

스프링 After Throwing 어드바이스

스프링 프레임워크에서 After Throwing 어드바이스는 AOP(Aspect-Oriented Programming)의 일부로 핵심 비즈니스 로직에서 예외가 발생한 후에 실행되는 어드바이스입니다. After Throwing 어드바이스의 개념, 동

newcodingman.tistory.com

 

댓글