AOP란, Aspect Oriented Programming으로 관점지향 프로그래밍, 어떤 로직을 기준으로 핵심적인 관점과 부가적인 관점으로 나누어서 모듈화.
EX) 모든 메소드의 호출 시간을 측정하고 싶다. - 부가적인 관점
- AOP 적용 전
문제 1) 핵심 비지니스 로직과 부가적인 로직이 섞여있음. - 유지 보수 어려움.
문제 2) 모든 메소드(회원조회, 회원가입 등)에 이러한 로직을 만들어야 됌
이러한 문제점을 AOP를 통하여 해결할 수 있음.
- TImeTraceAop라는 공통 로직을 생성하여 원하는 곳에 적용가능
- 핵심 관심 사항 변경없으므로 기존 로직 변경 없음.
- AOP 적용 후
AOP 기능
- Aspect : 모듈화
- Target : Aspect 적용
- Advice : 실질적으로 어떤 일을 해야할지에 대한 것으로서, 실질적인 부가기능을 담은 구현체
- JointPoint : Advice가 적용될 위치
코멘토 링크 : https://comento.kr/
반응형
'코멘토 - JAVA & SPRING 클린아키텍처' 카테고리의 다른 글
코멘토 실무PT 후기 챌린지 4주차 - UnitTest (0) | 2023.05.28 |
---|---|
코멘토 실무PT 후기 챌린지 3주차 - ORM/JPA와 트랜잭션 (0) | 2023.05.28 |
코멘토 실무PT 후기 챌린지 1주차 - 스프링 프레임워크 (2) | 2023.05.27 |
코멘토 실무PT 후기 챌린지 1주차 - 스프링 프레임워크(DI와 IoC) (1) | 2023.05.27 |