ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL] AOP 에 대하여
    TIL(Today I Learned) 2022. 12. 28. 23:29

    *20221228의 회고

     

     

       인프런 스프링 입문 강의를 끝마쳤다. 뒤죽박죽이던 머릿속이 어느정도 정돈된 느낌이 든다. 갓영한... 그저 빛영한 이었다. 그 다음으로는 스프링부트와 JPA 활용편을 공부할 예정이다. 어서 빨리 JPA 라는 녀석에 대해 알고 싶다!

     

    오늘은 스프링 입문 강의 마지막 부분의 내용인 AOP에 대해 간략하게 정리하려 한다.

     

    1. 문제점

    - 메소드 마다 호출시간을 측정하고 싶다. 그렇다면 모든 메소드에 일일이 호출 시간을 측정해주는 로직을 추가해야 할까...?

    - 만약 그렇다면, 메소드가 100개일 경우에는...? 혹시 1000개일 경우에는...?!

     

    시간 측정 로직 추가 전
    시간 측정 로직 추가 후

     

    2. 해결 방법과 알게된 점

    - AOP 를 적용하여 이 문제를 해결할 수 있다!

    • AOP : Aspect Oriented Programming
      • 관점 지향 프로그래밍을 뜻하는 단어
      • 로직을 핵심 관심 사항과 공통 관심 사항(부가적인 관심 사항)으로 관점을 나눠서 관리하겠다는 의미
      • 이 코드에서 핵심 관심 사항은 회원가입 그 자체이지, 시간을 측정하는 것은 부가적인 로직이자 다른 메서드와 공통적인 로직이다. -> 따라서 이 로직을 따로 분류하자
      • 관점을 나눔으로 써 코드의 유지보수가 쉬워진다.

    - aop 패키지를 만든 후, 시간 측정을 위한 클래스를 만든다.(TimeTraceAop)

     

     

    aop 를 구현하면서 사용하는 문법에 대해서는 나중에 aop 를 더 깊이 공부하게 될 때 그때 정리하도록 하겠다. 지금은 그냥 이런식으로 코드를 작성하는 구나 정도만 얻어가도록 하겠다.

     

     

    이렇게 시간을 측정할 수 있다! 오늘의 회고 끝!

Designed by Tistory.