AOP에 대하여 파헤치기!!


AOP 개념

AOP란 관점 지향 프로그램을 말하는 것으로 공통 기능 핵심 기능분리해 놓고공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용하는 것이다.밑의 예제를 통해 보도록 하자.

그림과 같이 물을받는 행위와 눈으로 판단하는 행위는 핵심기능이 바뀌어도 똑같이 적용이 된다.이러한 부분은 쌀을 씻고가 아닌 팥이나 보리라고 하여도 물을 받는다는 행위는 유효하다.이렇듯 밑에 파란부분의 기능이 달라져도 유효하게 작용 하는것을 공통 기능이리고 하며, 기능이 달라질 수 있는 부분을 핵심 기능이라고 한다.




AOP 기본 용어

 

- Aspect : 공통 기능

 - Advice : Aspect의 기능 자체

 - Jointpoint : Advice를 적용해야 되는 부분 (스프링에서는 메소드만 해당)

 - Pointcut : Jointpoint의 부분으로 실제로 Advice가 적용된 부분

 - Weaving : Advice를 핵심 기능에 적용 하는 행위




프록시(Proxy)

스프링에서 AOP 구현 방법 : proxy를 이용 하는 방법이다. 프록시라는 방법은 공통기능을 바로 핵심 기능에 넣는 것이 아니라 프록시라는 공간을 통해 공통기능과 핵심 기능을 수행하는 것이다.




Advice종류




AspectJ Pointcut 표현식



스프링 AOP 구현 방식

XML 스키마 기반의  AOP구현



작업 순서

 1. 의존 설정(pom.xml)

 2. 공통 기능의 클래스 제작 – Advice 역할 클래스

 3. XML설정 파일에 Aspect 설정



@Aspect 어노테이션 기반의 AOP 구현


작업순서

1.pom.xml에 의존 설정

2. @Aspect 어노테이션을 이용한 Aspect클래스 구현

3.XML파일에 <aop:aspectj-autoproxy/>설정






'IT > [Spring]' 카테고리의 다른 글

Annotation의 종류를 알아보자  (2) 2018.05.17
TAGS.

Comments