[Spring] 스프링 AOP란?
AOP (Aspect Oriented Programming) AOP는 Aspect Oriented Programming, 즉 관점 지향 프로그래밍이라고 불린다. 하나의 소프트웨어가 거대한 OOP로써 설계, 프로그래밍되었다면 이것을 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 보고 그 관점을 기준으로 모듈화하여 분리시키는 개념이다. 모듈화(modularization) : 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것 여기서, 핵심 기능은 해당 객체가 제공하는 고유 기능으로 볼 수 있고, 부가 기능은 핵심 로직을 실행하기 위해 행해지는 기능을 뜻한다. 이에 속하는 것은 로깅, 트랜잭션, 보안 등이 있다. 위의 그림처럼 소스 코드상에서 반복하여 나타나는 코드들을 흩어진 관심사(Cross..
2022.08.07