관점지향 프로그래밍(AOP)이란?
- AOP는 Aspect-Oriented Programming이다.
- 구현해야하는 기능을 분리(주기능/보조기능)
- 선택적으로 요소에 적용해서 사용
- 주기능 - 우리가 주로 짜는 코드들
- 보조기능 - 보안, 로깅, 트랜잭션,예외처리 등
- 개발자는 개발에만 포커스, 그 외는 스프링이 자동제어
AOP 용어
- aspect
구현하고자 하는 보조기능 - advice
aspect의 실체 (구현한 객체/클래스) - joinpoint
advice를 적용하는 지점(결합점) / 메서드 결합점 사용 - pointcut
advice가 적용되는 대상을 지정 - target
advice가 적용되는 대상(클래스) - weaving
advice를 주기능에 적용하는 것
간단히 말하면, Aspect는 횡단 관심사를 나타내고, Advice는 그 관심사의 구체적인 동작을 나타내며, Join Point와 Pointcut은 Advice가 적용되는 위치를 결정하고, Target은 Advice가 적용되는 대상을 의미하며, Weaving은 Aspect의 Advice를 실제 코드에 삽입하는 과정을 의미한다.
'spring · spring boot' 카테고리의 다른 글
[Spring] 페이징 처리 (1)원하는 만큼 데이터 출력 (0) | 2023.12.22 |
---|---|
getter setter를 사용하는 이유 (0) | 2023.12.22 |
[Spring] 게시판 만들기 - 본문보기 (0) | 2023.12.15 |
[Spring] 게시판 만들기 - 리스트 (2) (1) | 2023.12.15 |
[Spring] 게시판 만들기 - 리스트(1) (0) | 2023.12.15 |