Spring

[Spring]#08 Spring AOP

Noooodle 2024. 1. 29. 21:37

AOP(Aspect Oridented Programming): 원하는 곳에 공통 관심 사항을 적용할때 사용한다.

 

<예제>

모든 메소드의 작동 시간을 구한다고 해보자. 메소드가 한 두개라면 '시작점 ~~코드~~ 끝나는점' 이런식으로 몇 줄만 추가하면 되지만, 메소드가 100개라면? 1000개라면? 하나하나 일일히 작성할 수 없다. 그렇다고 외부함수로 빼기도 어렵다. 이때 사용하는 것이 AOP라고 한다.

회원가입, 회원 조회등 핵심 관심사항과 시간을 측정하는 공통 관심 사항을 분리한다.

시간을 측정하는 로직을 별도의 공통 로직으로 만들었다.

핵심 관심 사항을 깔끔하게 유지할 수 있다.

변경이 필요하면 이 로직만 변경하면 된다.

원하는 적용 대상을 선택할 수 있다.

 

 

대충은 알겠는데 완전히 이해하기 어렵다 일단 넘어가