스프링 AOP 구현
- Aspect로 사용할 클래스에 @Aspect 애노테이션을 붙인다.
- @Pointcut 애노테이션으로 공통 기능을 적용할 Pointcut을 정의한다.
- 공통 기능을 구현한 메서드에 @Around 애노테이션을 적용한다.
용어 | 의미 |
Advice | 언제, 트랜잭션 시작(공통 기능) 기능을 정의한다. |
JoinPoint | Advice를 적용 가능한 지점을 의미한다. 스프링은 프로기를 이용해서 Apo를 구현하기 떄문에 메서드 호출에 대한 Joinpoint만 지원한다. |
Pointcut | Joinpoint의 부분 지밥으로서 실제 Advice가 적용되는 Joinpoint를 나타낸다. |
Weaving | Advice를 핵심 로직 코드에 적용하는 것이다. |
Aspect | 여러 객체에 공통으로 적용되는 기능이다. 트랜잭션이나 보안 등이 Aspect의 좋은 예이다. |
'spring' 카테고리의 다른 글
Ioc 컨테이너와 빈 정리 (0) | 2021.03.09 |
---|---|
@Configuration과 @Bean, @Component 차이 (0) | 2021.01.27 |