AOP
-
Board - Interceptor, AOP, TransactionProjects/Problem & Solution 2021. 11. 6. 19:50
Interceptor 적용 인터셉터(Intterceptor)란? 인터셉터는 컨트롤러의 URI에 접근하는 과정에서 무언가를 제어할 필요가 있을 때 사용된다. 예를 들어, 회원제로 이루어지는 시스템이 있다고 가정했을 때, 로그인이나 계정의 권한과 관련된 처리 등을 인터셉터를 이용해서 더욱 효율적으로 처리가 가능하다. 1. LoggerInterceptor 클래스 생성 @Slf4j public class LoggerInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exceptio..
-
Spring Boot - AOPFramework & Library/Spring Boot 2021. 9. 23. 18:04
AOP AOP의 필요성 - 모든 메서드의 호출 시간을 측정하고 싶은 경우를 생각해본다. - 해결 방법은 위 사진과 같이 각 계층마다 시간을 측정하는 로직을 작성하는 방법이 있다. - 이때, 시간을 측정하는 로직과 핵심 비즈니스의 로직이 섞여서 코드가 복잡해지고 유지보수가 어려워진다는 문제점이 발생한다. - 핵심 관심 사항(핵심 비즈니스 로직)과 공통 관심 사항(시간을 측정하는 로직)을 분리함으로써 이러한 문제점을 해결할 수 있다. AOP를 통한 해결 - 위 그림과 같이 핵심 관심 사항(핵심 비즈니스 로직)과 공통 관심 사항(시간을 측정하는 로직)을 분리한다. - 시간을 측정하는 로직을 공통 로직으로 만든 후 원하는 적용 대상을 선택해 준다. - 이와 같이 공통으로 처리해야 하는 기능들을 별도로 분리함으로..