본문 바로가기

AOP

[Spring] AOP, Filter, Interceptor의 차이 스프링에서 사용되는 AOP, Filter, Interceptor 세 가지 기능은 모두 무슨 행동을 하기전에 먼저 실행하거나,실행한 후에 추가적인 행동을 할 때 사용되는 기능들이다. 기능적으로는 비슷하지만 내부 구현적으로는 큰 차이가 있다. 우선 Interceptor와 Filter는 Servlet 단위에서 실행된다. 반면 AOP는 메소드 앞에 Proxy패턴의 형태로 실행된다.그래서 실행순서에서도 차이가 나는데, Filter가 가장 겉에 있고 그안에 Interceptor, 그안에 AOP가 있는 형태이다. 따라서 요청이 들어오면 Filter → Interceptor → AOP → Interceptor → Filter 순으로 거치게 된다. 실행되는 메소드를 기준으로 설명하면서버를 실행시켜 서블릿이 올라오는 동안.. 더보기
[Spring] AOP 란? 스프링의 여러 특징 중 중요한 특징을 뽑자면 IoC, DI 그리고 AOP라고 볼 수 있다. AOP는 'Aspect Oriented Programming'의 약어로 기능을 핵심 비지니스 로직과 공통 모듈을 분리함으로써개발자가 좀 더 비지니스 로직에만 집중해서 처리할 수 있는 방법을 제공한다.이 말은 즉, 공통 모듈(로깅이나 보안인증 등)을 별도로 작성한 후 코드밖에서 비지니스 로직 사이에 삽입하는 것이AOP 기능을 사용해 개발한 것이라고 볼 수 있다. AOP와 비슷한 단어로 Java의 OOP(Object Oriented Programming)이라는 것이 있다.OOP 즉, 객체지향 프로그래밍이라는 단어와 AOP는 앞만 다르다는 것을 알 수 있다.AOP는 OOP를 대신하는 새로운 개념이 아니라, OOP를 더욱.. 더보기