[Spring] AOP(Aspect Oriented Programming)
2020. 11. 2.
관점 지향 프로그래밍 (AOP) 기존 객체지향 프로그래밍에서는 공통관심사항을 여러 모듈에서 적용하면서 중복된 코드를 양산하는 한계가 존재했다. AOP는 이러한 문제를 해결하기 위한 핵심관심사항과 전체에 적용되는 공통관심사항을 분리하면서 한계를 극복할 수 있도록 도와준다. AOP 용어 Aspect - 여러 객체에서 공통으로 적용되는 공통관심 사항 (트랜잭션, 로깅, 보안...) JointPoint - 공통 관심사항이 적용되는 지점(크로스 되는 지점), 호출되는 부분 PointCut - 범위를 지정, 누구에게 대상을 설정할 것인지 결정 who Advice - 어느 시점에 공통 관심사를 적용할 것인지 결정(메서드 수행 전/후, 예외발생 후..) when weaving - 어떤 Advice를 어떤 Pointcu..