출처
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
김영한 강사님
AOP가 필요한 상황?
Q: 모든 메소드의 호출 시간을 측정하고 싶다면?
A: 모든 메소드에 시간 측정 로직을 추가한다.
단점: 유지 보수가 어렵다. 시간 측정 로직은 공통 로직인데 모든 메소드에 공통적으로 적용되어 있으므로 수정이 어렵다.
AOP: Aspect Oriented Programming
공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 분리
시간 측정 로직을 한곳으로 모으고 원하는 곳에 공통적인 관심 사항을 적용시킴
helloController -> (프록시:가짜) memberSerivce -> jointPoint.proceed(); -> 실제 memberService
약간 스프링은 나에게.. 얼굴만 아는 친구 같은 사이인데 이제는 이름과 간단한 소개 정도를 알게 된 기분이랄까😂 절친이 될 수 있도록 파보자...
처음에 강의 듣기 시도했을 때는 intellij도 너무 낯설고 TDD 방식 자체도 낯설고 java8 문법 사용하는 것도 낯설어서 따라하기 힘들었는데! 이렇게 끝까지 듣게 되서 기분이 좋다! 이제 프로젝트로 반영해보쟈!