memostack
article thumbnail
Spring의 AOP 개념 (Aspect Oriented Programming)
Backend/Spring 2021. 3. 11. 00:15

AOP AOP는 Aspect Oriented Programming의 약자로, 번역하면 관점 지향 프로그래밍이다. AOP는 주 비지니스 로직 앞, 뒤로 부가적인 기능을 추가하고 싶을때 사용하는데 예를들어, 로그처리, 보안처리, DB 트랜잭션 처리 등이 있다 관점을 횡단으로 바꿔서 바라보는 것을 횡단 관심 사항이라 하며, 부가적인 로직을 Cross Cutting Concern, 주 비즈니스 로직을 Core Concern 이라 한다. AOP를 사용하는 이유? 코드의 중복을 줄일 수 있다. 주 업무 로직과 부가적인 로직을 분리할 수 있다. Java로 AOP 구현 AOP는 디자인 패턴 중 프록시 패턴(Proxy Pattern)을 이용해서 구현할 수 있다. 스프링에서는 어노테이션으로 더 쉽게 구현할 수 있음 성능 ..