core concern
스프링 입문 - AOP 적용
스프링 입문 - AOP 적용
2022.05.23AOP 적용 AOP : Aspect Oriented Programming 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 분리 좌측처럼 분산되어 있는 공통 관심 사항인 시간 측정 로직을 우측 처럼 한곳에 모으고, 내가 원하는 곳에 공통 관심 사항을 적용한다는 개념이 AOP이다. AOP 적용 방법을 알아보자. 우선, hellospring패키지의 하위에 aop라는 이름으로 패키지를 생성했다 그리고 aop패키지 안에, TimeTraceAop라는 이름으로 클래스를 생성했다. 그리고, Aop는 @Asepect 라는 애너테이션을 적어줘야 한다. 코드는 이렇게 작성해 주었다. 그리고 작성한 Aop클래스인 TimeTraceAop를 스프링빈으로 등록해줘야 한다. 컴..
스프링 입문 - AOP가 필요한 상황
스프링 입문 - AOP가 필요한 상황
2022.05.23AOP AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? 우선, 제일 간단한 방법으로, join() 메서드의 실행시간을 측정해보자. System.currentTimeMillis(); 이것을 사용하면 밀리세컨드로 받을 수 있다. 그리고 로직이 끝날 때, 시간을 찍어야 하는데, 예외가 터져도 찍어야 하므로, try-finally를 사용했다. 실행시간은 finish - start 로 구해서 찍어주었다. 통합테스트로 돌려보았더니, 이렇게 찍힌다. 모든 메서드의 실행시간을 측정해야 하므로, findMembers() 에도 동일하게 작성해주자. ..