본문 바로가기

AOP2

Spring 프로젝트 되살리기 9 - API 로깅 기능 구현 (AOP) 이전 이야기https://record47584.tistory.com/94 Spring 프로젝트 되살리기 8 - 인가(Authorization) 인터셉터 구현이전 이야기https://record47584.tistory.com/93 Spring 프로젝트 되살리기 7 - 리팩토링 4 (record, 정적 팩토리 메서드)이전 이야기https://record47584.tistory.com/91 Spring 프로젝트 되살리기 6 - 유닛 테스트 코드 고record47584.tistory.com 시나리오 9관리자 api 기능을 요청했을 때, 요청 시간과 요청자 id, request/response body 값을 로깅해달라는 요청이 들어왔다. AOP를 이용해 이를 구현해보자 (AOP에 대한 개념과 구현 방법은 아래 .. 2026. 7. 27.
AOP(Aspect-Oriented Programming)의 개념과 구현 AOP(Aspect-Oriented Programming)란? 여러 클래스에 공통으로 필요한 로직(로깅, 트랜잭션, 실행시간 측정 등)을 비즈니스 로직과 분리해서 한 곳에 모아두는 방식만약 모든 api의 실행 시간을 체크해야 한다면, 모든 api에 시간 측정 코드를 넣는게 아닌, 반복되는 부분을 별도 클래스로 빼서, "실행시켜야 할 대상"만 지정하면 자동으로 앞뒤에 끼어들게 만드는 방식우리가 자주 쓰는 @Transactional도 AOP로 구현됨 API 전체 처리 경로더보기클라이언트 요청 │ ▼① Filter (JwtFilter 등) - 요청 방향 │ - request.setAttribute("userId", ...) 등 세팅 │ - chain.doFilter() 호출 ▼.. 2026. 7. 27.