스프링 입문 - 섹션7 AOP

2023. 6. 29. 20:28·CS/김영한 스프링 강의

@Component
@Aspect
public class TimeTraceAop {
    @Around("execution(* hello.hellospring..*(..))")
    public Object execute(ProceedingJoinPoint joinPoint) throws Throwable {
        long start = System.currentTimeMillis();
        System.out.println("START: " + joinPoint.toString());
        try {
            return joinPoint.proceed();
        } finally {
            long finish = System.currentTimeMillis();
            long timeMs = finish - start;
            System.out.println("END: " + joinPoint.toString()+ " " + timeMs +
                    "ms");
        }
    }
}

핵심 관심사항과 공통 관심사항을 분리한다. @Around를 통해 어디 패키지의 어느 부분까지 공통으로 적용할 건지 정할 수 있음. @Aspect를 붙이면 되고, 파일 만들어 @Component로 컨테이너에 등록할 지, 이미 있는 config 클래스에 @Bean으로 등록할지는 취향. 데코레이터 비슷한거인듯.

저걸 하면 저 과정을 거치고 들어감. 프록시로 모방해서 저놈이 실행하는 거다.

 

'CS > 김영한 스프링 강의' 카테고리의 다른 글

스프링 기본 - 섹션2,3. 스프링 핵심 원리 이해 - 예제 만들기, 객체 지향 원리 적용  (0) 2023.07.02
스프링 기본 - 섹션1 객체 지향 설계와 스프링  (0) 2023.06.30
스프링 입문 - 섹션6 스프링 DB 접근 기술  (0) 2023.06.28
스프링 입문 - 섹션4 스프링 빈과 의존관계  (0) 2023.06.27
만든 이유  (0) 2023.06.25
'CS/김영한 스프링 강의' 카테고리의 다른 글
  • 스프링 기본 - 섹션2,3. 스프링 핵심 원리 이해 - 예제 만들기, 객체 지향 원리 적용
  • 스프링 기본 - 섹션1 객체 지향 설계와 스프링
  • 스프링 입문 - 섹션6 스프링 DB 접근 기술
  • 스프링 입문 - 섹션4 스프링 빈과 의존관계
용나리
용나리
  • 용나리
    티스토리 블로그
    용나리
  • 전체
    오늘
    어제
    • 분류 전체보기 (333)
      • 과거의 것들 (93)
        • AI Tech boostcamp (92)
      • 생각정리(고찰) (2)
      • 기술 글 (0)
      • 코딩테스트 (4)
        • C++ (0)
        • Python (4)
      • CS (121)
        • 컴퓨터 시스템 (4)
        • 코틀린 인 액션 (13)
        • 김영한 스프링 강의 (104)
      • 일지 남기기용 (11)
        • 운동 (10)
      • 개발 배포 해보기 (1)
      • 프로그래밍 언어 및 기타 (32)
        • Spring Boot (9)
        • Python (9)
        • Kotlin (1)
        • Flutter (2)
        • SQL (4)
        • Docker (3)
        • 공통 (4)
      • os (4)
        • Linux (4)
      • 기술 (17)
        • PyTorch (6)
        • Computer Vision (6)
        • NLP (1)
        • 기타 (4)
      • 제품 후기 (0)
      • 게임 (0)
        • Human Resource Machine (0)
      • 강의 (26)
        • fullstackdeeplearning_sprin.. (9)
        • 부캠 안드로이드 학습정리 (17)
      • 개인 메모 (10)
      • IT 기타 (5)
      • 논문 읽기 연습 (5)
        • Computer Vision (1)
        • NLP (0)
        • 공통 (2)
        • 그냥 메모 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    pip install killed
    파이썬 실행경로
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
용나리
스프링 입문 - 섹션7 AOP
상단으로

티스토리툴바