https://programforlife.tistory.com/107
https://velog.io/@backtony/Spring-AOP-총정리
Aspect Oriented Programming : 관점 지향 프로그래밍
애플리케이션에서 공통된 관심사에 대해 구현할 때 사용한다.
예를 들면
메서드에 들어오는 값들에 대한 로깅 기록,
메서드 실행 시간 측정으로 서버 부하 확인,
들어오는 대부분의 값들에 대한 전처리/가공이 필요한 경우 값에 대한 가공을 AOP로 처리.
스프링의 핵심으로 IoC, DI, AOP 를 꼽기에 AOP는 기본 제공되는 기능인줄 알았는데
의존성 추가를 해줘야 사용할 수 있는 기능이어서 놀라웠다. 🤨