Spring AOP

함승완·2024년 8월 11일

Spring AOP란?

  • 스프링 프레임워크에서 제공하는 기능 중 하나로 관점 지향 프로그래밍을 지원하는 기술.

관점 지향 프로그래밍 이란?

  • 객체 지향 프로그래밍을 보완하는 기술로 메소드나 객체의 기능을 핵심관심사와 공통 관심사로 나누어 프로그래밍 하는 것을 의미
  • 핵심 관심사는 각 객체가 가져야 할 본래의 기능
  • 공통 관심사는 여러 객체에서 공통적으로 사용되는 코드
  • 여러개의 클래스에서 반복해서 사용하는 코드가 있다면 해당 코드를 모듈화 하여 공통 관심사로 분리

Spring AOP 이해하기

주요 용어

  1. Aspect : 공통적인 기능들을 모듈화 한 것.
  2. Target : Aspect가 적용될 대상을 의미하며 메소드, 클래스 등이 이에 해당됨.
  3. Join Point : Aspect가 적용될 수 있는 시점을 의미하며 메소드 실행 전, 후 등이 될 수 있습니다.
  4. Advice : Aspect의 기능을 정의한 것으로 매서드 실행 전,후 예외처리 발생시 실행되는 코드
  5. Point cut : Advice를 적용할 메소드의 범위를 지정하는 것

주요 어노테이션

  1. @Aspect : 해당 클래스를 Aspect로 사용하겠다는 것을 명시
  2. @Before : 대상 메서드가 실행되기 전 Advice를 실행
  3. @AfterReturn : 대상 메서드가 정상적으로 실행되고 반환된 후에 Advice를 실행
  4. @AfterThrowing : 대상 메서드에서 예외가 발생 했을때 Advice를 실행
  5. @After : 대상 메서드가 실행된 후에 Advice를 실행
  6. @Around : 대상 메서드가 실행 전,후 또는 예외처리 발생시 Advice를 실행
profile
좋은 개발자 좋은 코딩 좋은 컴퓨터

0개의 댓글