Java/스프링 AOP
Spring AOP 용어정리
ta_chan
2023. 9. 6. 19:58
- 조인 포인트(Join point)
- 어드바이스가 적용될 수 있는 위치, 메소드 실행, 생성자 호출, 필드 값 접근, static 메서드 접근 같은 프로그램 실행 중 지점
- AOP를 적용할 수 있는 모든 지점
- 스프링 AOP는 프록시 방식을 사용하므로 조인 포인트는 항상 메소드 실행 지점으로 제한
- 포인트컷(Pointcut)
- 조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능
- 주로 AspectJ 표현식을 사용해서 지정
- 프록시를 사용하는 스프링 AOP는 메서드 실행 지점만 포인트컷으로 선별 가능
- 어드바이스(Advice)
- 부가기능
- 특정 조인 포인트에서 Aspect에 의해 취해지는 조치
- Around, Before, After 와 같은 다양한 종류의 어드바이스가 존재
- 타겟(Tartget)
- 어드바이스를 받는 객체, 포인트컷으로 결정
- 애스펙트(Aspect)
- 어드바이스 + 포인트컷을 모듈화 한 것
- @Aspect
- 여러 어드바이스와 포인트컷이 함께 존재
- 어드바이저(Advisor)
- 1 어드바이스 + 1 포인트컷
- 스프링 AOP에서만 존재하는 용어
- 위빙(Weaving)
- 포인트컷으로 결정한 타겟의 조인 포인트에 어드바이스를 적용하는것
- AOP 적용을 위해 애스펙트를 객체에 연결한 상태
- 컴파일 타임
- 로드 타임
- 런타임 - 스프링 AOP는 런타임, 프록시 방식, 위의 두 방식은 AspectJ가 필요하다.
- AOP 프록시
- AOP 기능을 구현하기 위해 만든 프록시 객체, 스프링에서 AOP 프록시는 JDK 동적 프록시 또는 CGLIB 프록시이다.