관점 지향 프로그래밍
공통 관심 사항과 핵심 관심 사항을 분리하여 공통 관심 사항을 원하는 곳에 적용하여 유지 보수가 쉬워짐
@Component 로 컴포넌트 스캔 되도록 해도 되지만
주로 스프링 빈에 등록하여 사용함
일반적이지 않은 특별한 케이스라 AOP를 사용중이라는 것을 딱 알수 있도록 스프링 빈에 직접 등록하는 것이 좋음
@Aroung() 로 적용 범위 설정 가능
AOP 적용 전에는 메서드를 바로 호출하지만
AOP가 적용된 메서드는 프록시 라는 기술로 가짜 메서드를 호출하게 되고
가짜 메서드가 AOP 메서드를 수행하고 가짜 메서드가 진짜 메서드를 호출하게 된다.