보통 스프링을 이용하다 보면 AOP라는 용어를 가끔 듣곤 할 겁니다. AOP?Aspect Oriented Programming?관점지향?? 하지만 개발자 관점에서는 이게 확 와 닿지 않는 경우가 많죠 딱 한 줄로 요약하자면, AOP는 어떤 이벤트에 대해 내 기능들이 사전 또는 사후에 자동으로 뭔가 해주기를 바라는 겁니다. 예를 들어 이메일을 예로 들어보면, 내가 글을 쓰는데 앞에는 항상 "OO님 안녕하세요" 끝부분에는 "감사합니다. OO드림" 같은 문장을 매일 쓴다는 건 개발자에게도 반복 업무이고 가끔 또 오타의 가능성을 배제할 수 없죠 이때, '회사 직원들에게 쓸 때는 이게 자동으로 들어갔으면 좋겠다.'를 생각하는 것처럼 (개발자들은 보통 게으릅니다. 때문에 본인의 일을 누군가 자동으로 해주길 바라곤 ..