
이전에 작성했던 Spring AOP 블로그 글 옮긴 내용 1. AOP ?? Spring AOP는 스프링에서 지원하는 AOP(Aspect Oriented Programming)을 말한다. Aspect는 부가 기능을 의미한다. 부가 기능은 비즈니스 로직를 담당하지는 않지만 애플리케이션의 유지보수와 안정성을 위해서는 필요한 기능이다. 대표적인 예시로 로깅과 트랜잭션이다. 만약 AOP를 사용하지 않으면 비즈니스 로직 사이에 부가 기능에 관련된 코드를 추가해야 한다. 비즈니스 로직 사이에 추가된 부가 기능 코드들을 비즈니스 로직의 가독성을 떨어뜨리고 같은 부가 기능에 대한 코드 중복이 발생해 유지보수가 어렵다. AOP을 통해 비즈니스 로직과 부가 기능을 분리하고 코드를 한 곳에서 관리해 로직의 응집도와 유지보수..