AOP Aspect Oriented Programming 공통 관심 사항(cross-cutting concern)과 핵심 관심 사항(core concern)의 분리 공통 관심 사항을 따로 두고 원하는 곳에 마음대로 적용시키는 것 예) 메서드 시간 측정을 하고 싶을 때, 메서드에 일일이 시간 측정 코드를 다 작성하는 것이 아닌 따로 하나 만들어 두고 원하는 곳에 적용할 수 있도록 해주는 기술 @Aspect로 AOP 사용 @Component로 스프링 컨테이너에 등록 @Around로 적용시킬 범위를 설정 AOP에 의한 프록시 생성과 의존 관계 변경 기존 의존관계 실제 컨트롤러 -> 실제 서비스 -> 실제 리포지토리 AOP로 인해 프록시가 생성되어 변경된 의존관계 프록시 컨트롤러 -> 실제 컨트롤러 -> 프록시..