일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 설정
- BindingResult
- 함수 인자값 id
- Intellij
- 추천 프로그램
- 룸북
- 개발시작전 자세
- linux
- 타임리프
- JSON
- #{..}
- 순서 보장
- 리눅스
- 스프링부트
- 다른사람 프로젝트 수정전 가져야할 자세
- 추천 사이트
- 시퀀스 조회
- Java
- js
- it
- 명령어
- 비밀번호 변경 명령어
- 하모니카 OS 5
- select
- StringUtils.hasText
- cmd
- 자바스크립트 인라인
- 타임리프와 스프링
- 프로젝트 클린
- Test 룸북 사용하기
Archives
- Today
- Total
웹개발 블로그
[AOP] AOP의 개요와 용어 본문
면접 질문으로 받았었던 AOP
오늘은 다시 정리해서 올리려고 합니다.
핵심기능? 부가기능?
- 업무로직을 포함하는 기능을 핵심기능(Core Concerns)이라 함.
- 비즈니스 로직을 구현한 부분
ex) 책을 본다, 공부를 한다
- 핵심기능을 도와주는 부가적인 기능을 부가기능(Cross-cutting Concerns)이라 함.
- 로깅, 보안 등 시스템 전반에 산재되어 사용하는 기능
ex) 눈을 뜬다, 눈을 감는다
- 핵심기능에서 부가기능을 분리해서 모듈화하는 프로그래밍 기법 = AOP
스프링 AOP
스프링을 통해서 AspectJ를 사용하는건 어렵지만
스프링 AOP를 사용하면 쉽게 사용 가능해진다.
AOP 흐름
Aspect(보안,인증, 로그 등 부가기능)
- 부가기능(어드바이스)
- 포인트컷(부가기능을 어디다 끼어놓을지, 위치정보) -- 특정 메소드를 지정(스프링 AOP는 메소드만 지정가능)
↕️
Weaving(위빙, 런타임 시 끼어들기)
↕️
핵심기능(비즈니스 로직을 구현한 부분)
AOP 설정
maven - 라이브러리 설정
<dependency>
<groupId> org.springframework.boot </groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
aspect도 POJO로 만든다(일반 자바 클래스)
🔽상단에 어노테이션 기입
@Aspect
@Component
public class classAspect {
....부가기능.....
}
- 서버가 올라갈 때 같이 로딩됨.
더 자세한건 AOP 카테고리를 확인해주세요~!~
'◆ SPRING BOOT > AOP' 카테고리의 다른 글
[AOP] 💥💥포인트컷 지시자 - execution (0) | 2024.08.14 |
---|---|
[AOP] 💥(중요) 프록시는 여러개 생성되나? (0) | 2024.08.13 |
[AOP] 어드바이스 종류 (0) | 2024.08.13 |
[AOP] 간단한 용어 정리 (0) | 2024.08.08 |
[Spring]스프링 AOP 용어 정리 (0) | 2024.05.04 |