728x90
반응형
AOP 설명
- AOP ( Aspect Oriented Programming )
- AOP 의 개념은 핵심 관심만 집중할 수 있도록, 중복 해서 작성해야 하는 핵심 이외의 코드들은 외부로 빼놔서 일괄적용시키는 것
- AOP 방식의 가장 큰 장점은 핵심 부분을 건드리지 않으면서 중복 코드를 제거 가능
- AOP에서는 핵심 관심 모듈의 중간 중간에 필요한 횡단 관심 모듈을 직접 호출하지 않고 위빙을 통해 횡단 관심 코드를 삽입
- 위빙이란 객체와 관점을 연결시켜주는 역할을 한다.
- 위빙에는 여러 방법이 있음. BCI, Compiler 등
AOP 용어
Pointcut
- 어느 부분( Where )에 횡단 관심 모듈을 삽입 할 것인지 정의
- 자바 프로그래밍은 메서드의 호출로 실행되기 때문에 메서드에 횡단 관심 모듈을 삽입
- Execution 에 명시해서 어떤 메소드에서 실행될지 결정
- 예를 들면, @Around("execution(* ..aoptest..*(..))")
- Execution 을 통해 어떤 메소드에서 실행할지 결정
Joinpoint
- joinpoint는 언제( When ) 횡단 관심 모듈을 삽입할지를 정의
- joinpoint의 몇 가지 종류
- before : 메서드 실행 전
- after : 메서드 실행 후
- around : 메서드 실행 전, 후
- 예를 들면, @Around("execution(* ..aoptest..*(..))")
- @Around 가 Joinpoint 임.
Advice
- advice는 핵심 관심 모듈에 삽입 될 횡단 관심 모듈 자체( What )를 정의
- JoinPoint 와 PointCut 이 적용된 메소드 자체 내용을 의미함.
- Public ~ method () { … advice 내용 }
'Spring' 카테고리의 다른 글
Spring filter 와 interceptor 설명 (0) | 2020.12.23 |
---|---|
web application spring starter 세팅 (0) | 2020.12.18 |
aop 와 weaving 설명 (0) | 2020.10.19 |
생성자 주입을 사용하면 좋은 이유? (0) | 2020.10.09 |
POJO, Bean, 프레임워크 개념 정리 (0) | 2020.10.08 |
댓글