[ Spring ] AOP ( Aspect Oriented Programming ) - 관점 지향 프로그래밍 | 로그 작성하기
사용 목적 공통적으로 수행되는 로직을 공통 로직 ( 횡단 관심 ) 이라 부르는데, 공통 로직과 핵심 로직 ( 비즈니스 메서드, CRUD ) 으로 분리하기 위해 사용한다. ex) 로깅 인증, 허가, 트랜잭션, 연결, 해제 등등 ( 공통 로직 ) 1. LogAdvice 클래스를 생성해준다. 2. 비즈니스 메서드마다 new 해줘도 로그는 남겨진다. 하지만 결합도가 높아지기 때문에 유지 보수에 매우 불리한 코드가 된다. 3. 결합도를 낮추기 위해 LogAdvice를 멤버 변수화하여 상단에 작성해준다. (의존관계) 4. 클라이언트에서 실행을 하면 결과는 이렇게 나온다. Q. 만약에 로그 2를 만들면 어떻게 될까? ( ex. 버전 관리 ) A. 여전히 결합도가 높아서 메서드명을 하나하나 바꾸어줘야 한다. 해결 방법..
2022.04.04