AOP라는 말을 처음들었다.
이해한 바로는 공통적인 기능과 핵심적인 기능을 분리해서 관리하기 위해 사용된다고 이해했다.
AOP(Aspect Oriented Programming)
열심히 메소드들과 여러 기능들을 조합해서 코드를 짰다.
그 때, 상사가 각각의 메소드들의 걸리는 시간을 로깅해달라고 했다. 이 때 사용할 수 있는 기능이 AOP다.
엄청나게 많은 메소드들에 일일이 로깅을 찍는 코드를 작성하는 것은 여간 쉬운 일이 아니다.
그래서 로깅을 찍는 코드를 분리해서 원하는 곳(메소드)에 적용시켜 주면
일일이 메소드들에 찾아가서 찍지 않아도 로깅 기능을 사용할 수 있게 된다.
핵심은 공통적인 기능을 따로 관리한다는 점이다. 이를 통해 유지보수가 용이해지고 쉽게 관리할 수 있다.
구글링을 통해 AOP에 대해서 학습해봤지만 직접 사용해봐야 더 감이 올 듯 하다.
위 그림처럼 실제서비스가 아닌 프록시라는 가짜를 만들어서 동작이 된다.
아주 간단하게 AOP에 대해서 알아봤다.
추후에 직접 사용해보면서 더 자세히 알아보겠다.
'Spring' 카테고리의 다른 글
Spring을 통해 의존관계 주입해보기! (2) | 2023.02.17 |
---|---|
Spring에서 순수 Java코드로 의존관계 주입해보기 (OCP,DIP 문제를 어떻게 해결하지?) (0) | 2023.01.10 |
H2 DB File corrupted while reading record: null. Possible solution: use the recovery tool [90030-200] 90030/90030 오류 : 해결방법 (0) | 2023.01.01 |
Spring html작업할 때 Livereload 쓰면 아주 편해요! (0) | 2022.12.15 |
쓰지않는 import문 지우는 단축키 (0) | 2022.12.12 |