[Spring] AOP, Pointcut, @Around


[Spring] AOP, Pointcut, @Around

AOP 적용 방식 컴파일 시점 클래스 로딩 시점 런타임 시점 (프록시) 컴파일 시점 (Weaving) .java 소스 코드를 컴파일러를 사용해서. class를 만드는 시점에 부가 기능 로직 추가 가능 AspectJ 컴파일러는 Aspect를 확인해서 해당 클래스가 적용 대상인지 먼저 확인하고, 적용 대상인 경우에 부가 기능 로직을 적용함 원본 로직에 부가 기능 로직이 추가되는 것을 Weaving이라고 함 단점 특별한 컴파일러도 필요하고 복잡함 클래스 로딩 시점 자바를 실행하면 자바 언어는 .class 파일을 JVM 내부의 클래스 로더에 보관함 이때 주간에서 .class 파일을 조작해서 JVM에 올릴 수 임ㅅ음 런타임 시점 런타임 시점은 컴파일 타임 끝나고, 클래스 로더에 클래스도 다 올라간 상태에서 자바가 실행이 된 다음 상태를 의미 main 메서드가 실행된 다음 자바 언어가 제공하는 범위에서 부가 기능 적용해야 함 런타임 시점에서는 실제 대상 코드는 그대로 유지되고, 대신에 프록시를...


#aop #pointcut #spring #springaop #springaround #스프링

원문링크 : [Spring] AOP, Pointcut, @Around