본문 바로가기

자바/스프링

Spring AOP

AOP (Aspect Oriented Programming)

 - 비즈니스 로직과 공통 로직을 분리 하여 비즈니스 로직에 영향을 미치지 않고 공통 로직을 앞 뒤로 끼워넣는(?) 방법

 - ex) logging, transaction 처리, 사용자 인증 등


AOP 구성요소

1. Target : Aspect 부여 대상

2. JoinPoint : Aspect가 적용 될 시점(위치)

 - Before, After, AfterReturning, AfterThrowing, Around

3. Advice : 각 JoinPoint에 삽입되어 동작할 모듈

4. PointCut : Advice를 적용할 JoinPoint를 선별하는 기능을 정의하는 모듈

5. Introduction : Target Class에 코드 변경 없이 메소드나 필드를 추가하는 기능

6. Aspect : 부가기능 모듈 {PointCut + Advice + Introduction(옵션)}

7. Proxy : Target을 감싸서 요청을 대신 받아주는 객체

8. Weaving : PointCut에 의해 결정 된 JoinPoint에 지정된 Aspect를 삽입하는 과정(새로운 Proxy 객체를 생성)


[참조]

https://isstory83.tistory.com/90

https://jojoldu.tistory.com/71

'자바 > 스프링' 카테고리의 다른 글

Spring Bean Scope  (0) 2019.04.04
Spring Transaction  (0) 2019.03.15
IoC(Inversion of Controll) - 제어의 역전  (0) 2019.02.13
DispatcherServlet  (0) 2019.02.11
Spring Bean 설정(XML)  (0) 2016.06.09