charminseok
[Spring] AOP 본문
AOP란? 흩어진 Aspect(공통 기능)를 모듈화하는 프로그래밍 기법으로 OOP를 보완해준다.
AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다.
출처: https://engkimbs.tistory.com/746?category=767795 [새로비]
AOP 용어
target: 부가 기능을 부여할 대상(class, 메서드, ..).
Aspect: 부가기능 모듈
Advice: 부가기능을 담은 구현체로 해야할 일들을 뜻한다.
Pointcout: 부가 기능이 적용될 대상을 선정하는 것. 부가기능을 어디에 적용하는지.
Join Point: advice가 적용될 수 있는 시점. 메서드를 실행할때 끼어들 수 있는 지점이 join point이다.
AOP 적용 방법
1. 컴파일
2. 로드 타임
3. 런타임: 스프링 AOP가 사용하는 방법으로 A라는 class(Bean)에 Aspect X를 적용해야 하는데, A라는 빈을 만들때 A라는 빈의 proxy Bean을 만든다.
proxy Bean: 타겟을 감싸서 타켓의 요청을 대신 받아주는 wrapping 오브젝트.
'Spring' 카테고리의 다른 글
[Spring Boot] 의존성 관리 (0) | 2021.02.10 |
---|---|
[Spring Boot] (0) | 2021.01.31 |
[spring] SpEL (0) | 2021.01.26 |
[Spring] Data Binding (0) | 2021.01.24 |
[Spring] Validation 추상화 (0) | 2021.01.23 |