Spring AOPBackend/Spring2022. 8. 30. 13:20
Table of Contents
반응형
AOP(Aspect Oriented Programming)는 공통관심사항을 분리하여 반복되는 부분을 추출해 핵심 로직에 영향을 미치지 않고 소스의 중복을 줄이는 방법으로 기존 OOP(Object-Oriented Programming)에서 공통관심사항을 여러 모듈에서 적용하며 발생하는 중복된 코드 양산의 한계를 극복하기 위해 나오게 되었습니다.
Spring AOP의 장점
예를 들어 어떠한 홈페이지에 로그인 처리를 해야 할 때 AOP를 사용하지 않는다면 모든 페이지마다 로그인 상태인지 확인하는 소스코드를 넣어야 할 테고 혹시나 그 로직이 변경되게 된다면 또 그 모든 페이지의 소스를 수정해야 하는 일이 생길 것입니다. 하지만 AOP를 적용한다면 단 하나의 로그인 로직만 바꿔도 모든 소스에 적용시킬 수 있는 장점이 있습니다.
스프링 AOP 용어
스프링 AOP 를 이해하기 위해선 5가지 용어에 대한 이해가 필요합니다.
- Aspect : 여러 객체에서 공통으로 적용되는 공통 관심사항(ex:트랜잭션, 로깅, 보안)
- JoinPoint : Aspect가 적용될 수 있는지점(ex:메서드, 필드)
- Pointcut : 공통 관심사항이 적용될 Joinpoint
- Advice : 어느시점(ex: 메서드수행 전/후, 예외발생후등)에 어떤 공통관심기능(Aspect)을 적용할지 정의한 것
- Weaving : 어떤 Advice를 어떤 Pointcut(핵심사항)에 적용시킬 것 인지에 대한 설정(Advisor)
반응형
'Backend > Spring' 카테고리의 다른 글
[JPA] 복합키 사용 (0) | 2022.10.05 |
---|---|
[JPA] Select Query 사용 방법 (0) | 2022.09.26 |
[Spring Boot] 환경에 따른 설정 방법 (0) | 2022.09.22 |
[Spring Boot] Maven 빌드 방법 (0) | 2022.09.21 |
[JPA] Annotation 정리 (0) | 2022.08.26 |
@고지니어스 :: 규니의 개발 블로그
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!