Programming-[Backend]/Spring
[링크] 스프링 AOP 용어 개념 정리
컴퓨터 탐험가 찰리
2022. 2. 27. 14:32
728x90
반응형
AOP는 Aspect Oriented Programming의 약자이다. 관점에 따라 프로그래밍을 하겠다는 뜻이 된다. 코드에서 공통적으로 나타나는 부가적인 기능을 모듈화하여 하나의 관점(Aspect)로 바라보고 공통화한다.
주요개념
- Aspect : 위에서 설명한 흩어진 관심사를 모듈화 한 것. 주로 부가기능을 모듈화함.
- Target : Aspect를 적용하는 곳 (클래스, 메서드 .. )
- Advice : 실질적으로 어떤 일을 해야할 지에 대한 것, 실질적인 부가기능을 담은 구현체
- JointPoint : Advice가 적용될 위치, 끼어들 수 있는 지점. 메서드 진입 지점, 생성자 호출 시점, 필드에서 값을 꺼내올 때 등 다양한 시점에 적용가능
- PointCut : JointPoint의 상세한 스펙을 정의한 것. 'A란 메서드의 진입 시점에 호출할 것'과 같이 더욱 구체적으로 Advice가 실행될 지점을 정할 수 있음
적용방법
의존성 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
@AOP
특정 클래스 위에 해당 어노테이션을 작성해주면 된다. 스프링 빈으로 등록을 위해 @Component도 달아주어야 한다.
@Around
AOP를 적용할 패키지 경로, 어노테이션, 모든 메서드 등을 지정할 수 있다.
참조
1. 새로비님 블로그 - [Spring] 스프링 AOP (Spring AOP) 총정리 : 개념, 프록시 기반 AOP, @AOP
https://engkimbs.tistory.com/746
728x90
반응형