CODEDRAGON ㆍDevelopment/Spring
AOP 용어
용어 |
설명 |
타겟 (Target) |
· 핵심기능을 담고 있는 모듈 · 타겟은 부가기능을 부여할 대상이 됩니다. |
어드바이스 (Advice) |
· 어드바이스는 타겟에 제공할 부가기능을 담고 있는 모듈입니다. · Aspect의 기능 자체 |
조인 포인트 (Join Point) |
· 어드바이스가 적용될 수 있는 위치를 말합니다. · Advice를 적용해야 되는 부분(필드, 메소드)을 의미합니다. 스프링에서는 메소드만 공통기능을 할당할 수 있습니다. · 즉, 타겟 객체가 구현한 인터페이스의 모든 메서드는 조인 포인트가 됩니다.
|
포인트 컷 (Pointcut) |
· Joint Point의 부분으로 실제로 Advice가 적용된 부분입니다. · 어드바이스를 적용할 타겟의 메서드를 선별하는 정규표현식(Regular expression)입니다. · 포인트컷 표현식은 execution으로 시작하고, 메서드의 Signature를 비교하는 방법을 주로 이용합니다.
|
애스펙트 (Aspect) |
· 애스펙트는 AOP의 기본 모듈입니다. · 공통 기능 = 부가 기능 · Aspect = Advice + PointCut · 애스펙트는 싱글톤 형태의 객체로 존재합니다. |
어드바이저 (Advisor) |
· 어드바이저 = 어드바이스 + 포인트컷 · 어드바이저는 Spring AOP에서만 사용되는 특별한 용어입니다. Advisor와 Aspect는 동일합니다. 애스펙트라는 용어를 주로 사용합니다. |
위빙 (Weaving) |
· 위빙은 포인트컷에 의해서 결정된 타겟의 조인 포인트에 부가기능(Advice)을 삽입하는 과정을 뜻합니다. · Advice를 핵심기능에 적용하는 행위입니다. · 위빙은 AOP가 핵심기능(타겟)의 코드에 영향을 주지 않으면서 필요한 부가기능(어드바이스)을 추가할 수 있도록 해주는 핵심적인 처리과정입니다. |
'Development > Spring' 카테고리의 다른 글
Jackson Library 검색 및 설치 (0) | 2019.05.18 |
---|---|
MyBatis3의 주요 컴포넌트 역할 (0) | 2019.05.09 |
Error-Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'bbsService' available 해결방법 (0) | 2019.04.22 |
핵심기능과 부가기능 (Core Concerns & Cross-cutting Concerns) (0) | 2019.04.17 |
MyBatipse 설치 하기 - MyBatis plug-in (0) | 2019.04.17 |