Spring에서 AOP(Aspect Oriented Programming)가 필요한 이유와 이를 활용한 실제 애플리케이션 개발 사례에 대해 설명하세요.모든 비즈니스 메소드의 실행 시간을 측정해야 한다고 가정해보자. 비즈니스 로직을 개발할 때 예시 코드와 같이 핵심 기능과 부가 기능이 섞여 있으면 다음과 같은 문제가 발생한다.시간 측정 코드가 모든 비즈니스 메소드에 중복해서 들어간다.핵심 비즈니스 로직과 부가 기능이 섞여 있어 코드의 가독성이 떨어진다.시간 측정 로직을 변경해야 할 경우, 모든 메소드를 수정해야 한다.예시)public class UserService { public void createUser(User user) { // 시간 측정 시작 long start =..