본문 바로가기

AOP4

[Spring] Spring AOP - 원리편 안녕하세요. 오늘은 Spring AOP의 3번째 시간으로 마지막 시간입니다. 오늘은 AOP가 Spring 내부에서 구현되는 원리에 대해서 한번 알아보는 시간을 가져보도록 하겠습니다. AOP를 사용하는 방법 및 기본적인 이론은 아래 링크를 통해 이전 포스팅을 확인해주시기 바랍니다. [Spring] Spring AOP - 기본 이론편 [Spring] Spring AOP - 실전편 정적 프록시와 동적 프록시 Spring의 AOP는 프록시 패턴을 사용합니다. proxy pattern에 대해서는 예전에 [Spring & Design Pattern] Spring에서 발견한 디자인패턴_Proxy Pattern 으로 포스팅 한적이 있으니 참고하시면 자세히 알 수 있습니다. 만약 Class에 .. 2020. 7. 1.
[Spring] Spring AOP - 실전편 안녕하세요. 오늘은 저번 포스팅, 기본 이론편에 이어서 Spring AOP에 대해서 실제 적용을 해보며 알아보는 시간을 가지도록 하겠습니다. 저번 포스팅에서 배운 이론이 어떻게 적용되는지 눈으로 확인하시며 쉽게 이해가 되셨으면 좋겠습니다. AOP 적용 타입 Spring AOP는 아래와 같은 type의 Advice를 제공합니다. @Before Before는 target 메서드가 실행되기 전에 Advice가 실행됩니다. target이 실행되지 못하도록 막는 방법은 가지고 있지 않습니다. (exception을 발생시키면 되기는 합니다.) @After After는 target 메서드가 실행된 후에 Advice가 실행됩니다. 정상적으로 메서드가 마무리되든 비정상적으로 exception이 발생하든 무조건 실행되는 .. 2020. 6. 23.
[Spring] Spring AOP - 기본 이론편 안녕하세요. 오늘은 Spring AOP에 대해서 알아보고 실제로 적용하는 방법에 대해서 이야기해보고자합니다. AOP는 [Spring] Spring의 정의와 기본 개념에서 Spring을 비침투적인 기술로 만들기위한 3가지 기술중 하나라고 언급한 적이있습니다. 오늘부터는 Spring AOP에 대해서 알아보는 시간을 가져보도록 하겠습니다. AOP 먼저 아래 코드의 상황을 보면서 문제를 이해해보도록 하겠습니다. doSomething이라는 메서드가 있습니다. 이 메서드는 어떤 바쁜 일을 합니다. 이렇게 운영하던 중 새로운 요구사항이 들어왔습니다. 바로 doSomething 메서드가 실행되는 시간을 찍어달라고 합니다. 그렇다면 우리는 아래와 같이 timeCheck 메서드를 만들어 코드를 작성할 수 있습니다. pub.. 2020. 6. 20.
[Spring & Design Pattern] Spring에서 발견한 디자인패턴_Proxy Pattern Spring의 특징이라고 하면 IoC(또는 DI), PSA(Portable Service Architecture) 그리고 AOP(Aspect-Oriented Programming)가 있습니다. 이 개념이 무엇인가? 에 대해서는 이번 포스팅에서 언급하진 않겠습니다. 궁금하신 분은 저의 Spring 카테고리에 하나씩 설명이 되어있으니 해당 포스팅들을 참고 부탁드립니다. 저는 다른부분에 대해서 말해보려고 합니다. AOP는 관점지형 프로그래밍으로 main기능이 아닌 기능(Logging / Transaction)을 묶음으로 하여 Main Function을 잘 구성할 수 있게 해주는 방식입니다. 따라서 비즈니스 로직의 중간에 소스코드를 삽입해야하는데 이를 지원해주는 방식은 일반적으로 3가지로 구현이 가능합니다. S.. 2019. 9. 6.