AOP
-
AOP(Aspect-Oriented Programming)란? - 스프링 AOP와 프록시스프링 2022. 9. 7. 15:30
안녕하세요! 이번 포스트에서는 AOP의 개념과 스프링의 AOP 방식에 대해서 작성해보겠습니다. AOP란? AOP는 흔히 스프링의 3대 프로그래밍 모델(DI, AOP, PSA) 중 하나로 알려져있으며 Aspect-Oriented Programming 약자입니다. 이걸 그대로 번역하면 관점 지향 프로그래밍입니다. 그럼 관점(Ascpect)란 무엇일까요?! 어플리케이션 코드에서는 로깅, 보안, 트랜잭션 등 비즈니스 로직과는 상관없이 반복적으로 등장하는 부가적은 코드들이 존재합니다. 객체지향적으로 잘 설계된 코드들도 이런 부가적인 코드들을 완벽히 독립시키기에는 부족한 부분이 있었습니다. 이런 부가기능들을 어떻게 모듈화할 것인지 생각해온 사람들은 기존의 전통적인 객체지향 설계 패러다임으로는 한계가 있다고 생각했었..