AOP의 개념과 용어

Jimin·2022년 11월 16일
0

스프링 - fastcampus

목록 보기
21/21

공통 코드의 분리

여러 메서드에 공통 코드를 추가해야 한다면?


코드를 자동으로 추가한다면, 어디에?

처음이나 끝


AOP(Aspect Oriented Programming)란?

관점 지향 프로그래밍? 횡단 관심사? cross-cutting concerns?

부가 기능(advice)을 동적(실행중에)으로 추가해주는 기술
(부가 기능의 반대말: 핵심 기능)

메서드의 시작 또는 끝에 자동으로 코드(advice)를 추가한다.


AOP 관련 용어

용어설명
targetadvice가 추가될 객체
advicetarget에 동적으로 추가될 부가 기능(코드)
join pointadvice가 추가(joint)될 대상(메서드)
pointcutjoin point들을 정의한 패턴
proxytarget에 advice가 동적으로 추가되어 생성된 객체
weavingtarget에 advice를 추가해서 proxy를 생성하는 것

원래 하나였던 코드를 쪼개 놓고 실행중에 다시 합치는 것이 AOP이다.


Advice의 종류

xml과 애너테이션 두가지 방법으로 가능하다.


pointcut expression

advice가 추가될 메서드를 지정하기 위한 패턴

execution(반환타입 패키지명.클래스명.메서드명(매개변수 목록))


profile
https://github.com/Dingadung

0개의 댓글

관련 채용 정보