'AOP'에 해당되는 글 2건

  1. 2009.01.11 [spring] 스프링 다시보기 - AOP에 대해서
  2. 2009.01.11 spring의 IOC와 AOP에 대해 정리 (2)

일단 기선님의 AOP를 설명하는 그림 두 장을 보자.
AOP 적용 전, AOP 적용 후



무엇인고 하니.. 예를 들어 메소드의 수행 시간을 확인할 일이 있다고 하자.
그럼 일일히 하나하나 메소드에 시작과 끝 부분에 ms를 구하고 그 차이를 구하고 하는 방법이
바로 첫 번째 그림이다.

그걸 AOP를 사용하면 2번째 그림처럼 된다. 어떻게 이런 일이? 소스코드를 수정하지 않고
메소드에 저런 마법이 가능하단 말인가!!!!!!?????

그것은 바로 AOP(Aspect-Oriented Programming)의 마법이다!
AOP에 대해선 다음 글을 읽어보자

1. IBM 개발자네트워크의 Aspect-Oriented Programming: AOP에 대한 실제적 접근방식

2. 다음 dna의 기술노트  AOP 용어들과 DynamicProxy를 사용한 간단한 예제 - 구준근(기술위원회 PiLab팀), 2006년 11월
(요게 각종 개념들은 아주 쉽게 정리되어있다.)


http://dna.daum.net/wiki/imgs/custom/aop.jpg
  • Target : 주가 되는 비지니스 로직을 구현하고 있는 클래스를 말합니다.

  • JointPoint : Target 즉, 주가 되는 비지니스 로직을 가지는 인스턴스에 이벤트가 발생하는 시점을 말합니다.
    예를 들면 인스턴스가 생성되거나, 인스턴스의 특정 메소드가 호출되는 시점 또는 Exception이 발생하는 시점 등이 예가 됩니다.

  • Advice : target의 주된 비지니스 로직에 추가로 실행되어질 로직이 구현된 부분 입니다.

  • PointCut : Target의 JointPoint에 Advice를 결합하기 위해서 필요한 패턴을 말합니다.

  • Weaving : Target에 Advice 기능을 결합시키는 것을 말합니다. JAVA JDK에서는 1.3 버전부터 reflect API를 사용한
    DynamicProxy 클래스를 지원하여 부분적인 AOP를 구현하고 있으며, AspectJ 등의 툴은 바이너리 파일을 재 컴파일하여 AOP를 완벽히 지원하고 있습니다.

  • Aspect : Target의 JointPoint에 Advice 기능이 Weaving 되어 Target에 주된 비지니스 로직에 Advice 기능을 지원할 수 있도록 하는 완성된 클래스 입니다.


좋은 자료들을 봤으니 이해가 쏙쏙 될 것이다.
즉, 스프링의 AOP를 사용하면 DB의 트랜잭션 처리나, 로깅 등을 설정을 통해 수행할 수 있게 된다.
소스코드를 적지 않고도!

일일히 메소드에 정의하지 않고
죄다 어딘가 정의해놓으면 간단히 된다는 사실!!









 

Posted by 시난
TAG AOP, Spring
기간: 오늘까지

1. IOC에 대해 정리
2. AOP에 대해 정리


이해하기 쉽게,
그림을 곁들여서


수행후기:
헉헉. 1시간 30분에 걸쳐서 스프링에서 쓰이는 IOC,DI,AOP 개념을 정리해보았다.
좋은 글들이 있어서 쉽게 정리할 수 있었다.

다음에는 비트연산자를 정복해보자.
나는 늘 해야하는데 하면서 필요성이 없어서 넘어갔었던..!!!

'퀘스트 > 완료된 퀘스트' 카테고리의 다른 글

직장생활 시작하기  (0) 2009.03.04
Java 기본 다시보기  (0) 2009.01.19
XP(eXtream Programing)에 대해 설명하기  (0) 2009.01.12
비트연산 완전정복  (0) 2009.01.12
spring의 IOC와 AOP에 대해 정리  (2) 2009.01.11
2009 대한민국 매쉬업 경진대회  (0) 2009.01.06
Posted by 시난
TAG AOP, DI, IOC, Spring