spring

Spring aop와 로그 예제

개발만파볼까 2018. 4. 25. 17:43
728x90
반응형
SMALL

AOP이란 Aspect oriented programming 으로써 관점 지향 프로그래밍이라고 한다. 정의를 굳이 말하자면 공통 영역을 핵심 부분에 적용하는 스프링 기능 중 하나라고 생각하면 된다. 자바의 특징이 객체 지향인데, 이러한 특징을 더욱 두드러지게 만들게 해준다. 이 정의를 처음 들었을 때 추상적으로 들려 좀 더 풀어서 설명할 까 한다. 그림은 간단한 웹 예제를 가지고 연습한 기준을 가지고 그림을 그린 것이다. 

 

AOP가 없다면 로깅, 보안, 트랜젝션 기능을 각 영역마다 추가를 시켜줘야 하는 불편함이 생긴다. 이 떄 aop를 이용하면 굳이 일일히 각 기능들을 추가시킬 필요가 없으며 공통 영역에 관한 클래스를 작성하고 적용시키기만 하면 되는 것이다. 

AOP를 본격적으로 앞서 AOP를 쓰는데 필요한 용어부터 정리를 하겠다. 

 

 

AOP 용어

 

용어 설명 
 Advice  어느 시점에 공통 영역을 적용할 것인지 설정(@before, @around ...)
Joinpoint   애플리케이션을 실행할 때 특정 작업이 시작되는 시점
 Pointcut  Advice을 어디에 적용을 할지 설정(execution ....)
 Weaving  Advice를 핵심 로직 코드에 적용하는 것
 Aspect  여러 객체에 공통적으로 적용되는 공통 관심 사항(영역)

 

728x90
반응형
LIST