ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring AOP(Aspect Oriented Programming)이란?
    백수의 개발/스프링 2019. 12. 31. 18:52

    AOP(Aspect Oriented Programming)이란?

    AOP를 관점 지향 프로그래밍이라고 한다. 관점 지향은 어떤 로직에 대해 핵심 기능과 공통 기능을 나누어서 보고, 그 관점을 기준으로 모듈화를 진행하는 것이다.

    즉, 공통 기능을 핵심 기능과 분리해 놓고, 공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용하는 것이다.

     

    간단하게 보면 일반적인 핵심 비즈니스 로직은 핵심 기능으로 본다면 로깅, 트랜잭션, 데이터베이스 연결, 파일 입출력 등과 같은 일련의 핵심 로직을 위한 부가적인 기능들을 공통 기능으로 분리한다고 볼 수 있다.

    AOP 주요 용어

    • Aspect : 공통 기능(모듈화 된 기능)
    • Target : Aspect(부가 기능)를 부여할 대상 (클래스, 메서드 .. ) 
    • Advice : 실질적인 부가기능을 담은 구현체(공통 기능 구현체)
    • JointPoint : Advice가 적용될 수 있는 위치.(필드, 메서드 등이 있으나, Spring에서는 메서드만 해당)
    • PointCut : JointPoint의 상세한 스펙을 정의한 것. 즉, Advide가 실행 될 지점을 정의하는 것
    • Weaving : Advice를 핵심기능에 적용하는 행위

    Spring에서의 AOP

    client[호출부] -> proxy[대행] -> target[핵심기능]

    '백수의 개발 > 스프링' 카테고리의 다른 글

    IoC그리고 DL/DI  (0) 2019.11.03

    댓글

Designed by Tistory.