ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring]AOP 정의 및 용어 정리
    프로그래밍 언어/Spring 2019. 7. 20. 15:34

    정말 여러 번 봐도 이해가 잘 되지 않는 AOP 입니다. ㅠㅠ 


    이번엔 가볍게 AOP의 정의와 AOP의 주요 용어를 정리해보려고 합니다.



    1. AOP 란?


    Aspect-Oriented-Programming의 약자로 관점 지향 프로그래밍이란 뜻을 가지고 있습니다.


    AOP는 핵심 기능(CC)와 공통 기능(CCC)를 분리하여 코드의 재사용성을 높여주는 프로그래밍 기법입니다.


    AOP의 기본 개념은 핵심 기능에 공통 기능을 삽입하는 것입니다. 


    즉, 핵심 기능에만 집중할 수 있도록 중복해서 작성해야 하는 코드들을 따로 빼놓는 프로그래밍 방법입니다.



    2. AOP 주요 용어


     용어

    설명 

    Joinpoint

     Advice를 적용가능한 지점을 의미합니다.

     Pointcut

     Joinpoint의 부분 집합으로, Advice가 적용되는 Joinpoint를 나타냅니다.

     Advice

     Aspect를 언제 핵심 코드에 적용할 지를 정의합니다.

     Weaving

     Advice를 핵심 코드에 적용하는 것을 말합니다.

     Aspect

     여러 객체에 공통으로 적용되는 기능을 말합니다. (공통 기능)


    2-2. Advice의 종류


     용어

    설명 

     Before Advice

    대상 객체의 메서드 호출 전에 공통 기능을 실행합니다.

    After Returning Advice 

    대상 객체의 메서드가 예외 없이 실행된 이후에 공통기능을 실행합니다. 

    After Throwing Advice

    대상 객체의 메서드를 실행하는 도중 예외가 발생한 경우 공통기능을 실행합니다. 

     After Advice

    대상 객체의 메서드 실행 후 공통 기능을 실행합니다. 

     Around Advice

    대상 객체의 메서드 실행 전 / 후, 예외 발생 시점에 공통 기능을 실행합니다. 



    3. AOP 구현 방법


    1. XML 스키마 구현


    2. @Aspect 어노테이션 구현



    AOP 구현 방법은 좀 더 공부하고 정리해서 올립니다ㅎㅎ,,,(너무 어렵..😱)


    AOP는 일단 정의와 주요 용어까지만 올립니다ㅎㅎ





Designed by Tistory.