반응형
반복된 로직(공통 관심사)을 한 곳으로 몰아서 코딩할 수 있도록 해준다.
==> AOP란, 핵심 Business 로직에서 공통 관심사를 분리하는 것!
핵심 관심사와 공통 관심사
핵심 관심사
핵심 로직에 대한 관심사, 핵심 기능
공통 관심사
애플리케이션 전반에 걸쳐 공통적으로 사용되는 기능들에 대한 관심사
ex) Method Parameter, 실행시간 등 로깅, 보안, Parameter Encode 등...
AOP를 활용하지 않으면
실질적 로직에 공통 기능을 반복 코딩 해야 한다.
공통 기능에 수정이 필요해진다면, 모두 수정해야 한다.
대표적으로, Spring에서 제공하는 @Transactional
AOP의 필요성
1. 간결한 코드 유지
2. 객체 지향적인 코드 구현
3. 코드 재사용
항상 깔끔하고, 중복되는 코드를 분리하여 재사용 할 수 있도록 고민하자!
주요 Annotation
@Aspect: AOP를 정의하는 Class에
@Pointcut
@Before/After
@AfterReturning
@AfterThrowing
@Around
반응형
'공부기록 > JAVA' 카테고리의 다른 글
Integer.bitCount(int i) (1) | 2023.02.13 |
---|---|
코드가 짧다고 효율이 좋은 것은 아니다. (1) | 2022.11.26 |
JAVA 배열 자르기/Array 자르기 [] (0) | 2022.11.17 |
String 문자열에서 문자 제거 (0) | 2022.11.15 |
Iterator/JAVA Collection/컬렉션 순회 (0) | 2022.11.13 |
댓글