-
[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는 일단 정의와 주요 용어까지만 올립니다ㅎㅎ
'프로그래밍 언어 > Spring' 카테고리의 다른 글
[Spring]스프링 MVC 기초(구조) (0) 2019.08.01 [Spring] 스프링 DB 연동 (0) 2019.07.20 [Spring]bean 객체의 생명주기 (0) 2019.07.20 [Spring]스프링 프로젝트 생성 및 DI(의존 주입) (0) 2019.07.17