코멘토 - JAVA & SPRING 클린아키텍처

코멘토 실무PT 후기 챌린지 1주차 - 스프링 프레임워크(AOP)

간다12 2023. 5. 27. 13:54

AOP란, Aspect Oriented Programming으로 관점지향 프로그래밍, 어떤 로직을 기준으로 핵심적인 관점과 부가적인 관점으로 나누어서 모듈화.

EX) 모든 메소드의 호출 시간을 측정하고 싶다. - 부가적인 관점

 

- AOP 적용 전

AOP 적용 전

문제 1) 핵심 비지니스 로직과 부가적인 로직이 섞여있음. - 유지 보수 어려움.

문제 2) 모든 메소드(회원조회, 회원가입 등)에 이러한 로직을 만들어야 됌

 

이러한 문제점을 AOP를 통하여 해결할 수 있음.

AOP 구조

- TImeTraceAop라는 공통 로직을 생성하여 원하는 곳에 적용가능

- 핵심 관심 사항 변경없으므로 기존 로직 변경 없음.

 

- AOP 적용 후

AOP 구현

AOP 기능

 - Aspect : 모듈화

 - Target : Aspect 적용

 - Advice : 실질적으로 어떤 일을 해야할지에 대한 것으로서, 실질적인 부가기능을 담은 구현체

 - JointPoint : Advice가 적용될 위치

 

코멘토 링크 : https://comento.kr/

반응형