반응형
Aspect-oriented Programming (AOP)은 OOP를 보완하는 수단으로, 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법
스프링 AOP 구현체를 제공하며, 자바에 만들어진 AOP Framework(Aspect J)을 사용할 수 있음.
이 기능을 기반으로 Spring Transaction을 사용할 수 있음.
흩어진 관심사 (Crosscutting Concerns): 여러 클래스, 여러 메서드에 걸쳐 나타나는 코드나 필드 혹은 메서드 등...
AOP를 적용할 경우...
위와 같이 해야 할 일 들을 Aspect로 모듈화 한 것이다. -> Concern 들의 모듈화
AOP 주요 개념
- Aspect : 모듈
- Target : Aspect가 가지고 있는 Advice가 적용 되는 대상들
- Advice : 해야 할 일
- Pointcut : 어디에 적용되어야 하는지
- Join point : 합류점 - 구체적인 Subset
- 메서드 실행 시점, 생성자 호출 시점, 필드에 값을 가져갔을 때등등
AOP 적용 방법
- 컴파일 -> java파일을 class파일로 만들 때
- 로드 타임
- ----------------- Aspect J
- 런타임 -> Proxy 기반의 Spring AOP
반응형
'Spring' 카테고리의 다른 글
Logback 사용하기 (0) | 2022.03.06 |
---|---|
AWS Amplify (4) | 2021.11.20 |
JUnit 5 (2) | 2021.02.12 |
리플렉션 API: 클래스 정보 조회 (1) | 2021.02.01 |
Environment - 프로퍼티 (2) | 2020.11.25 |