핵심 기능과 부가 기능의 분리 AOP(Aspect-Orientd Programming) : 애플리케이션을 바라보는 관점을 하나하나의 관점에서 횡단 관심사 관점으로 달리보는것. *횡단관심사: 애플리케이션 전반에 걸쳐 핵심 관심에 영향을주는 영역 내가 원하는 핵심기능에 부가기능을 적용 할 수 있다. AOP의 대표적인 구현으로 AspectJ Framework가 존재한다. Spring에서는 AspectJ의 문법을 차용하고, AspectJ의 제공하는 기능의 일부만을 제공한다. 횡단 관심사의 모듈화 오류 검사 및 처리 동기화 캐싱 모니터링 및 로깅 AOP 적용방식 컴파일 시점 적용 .java 소스를 AspectJ컴파일러를 사용해 .class를 만드는 시점에 부가기능 로직을 추가 할 수 있다. 원본 로직에 부가 기능..