메뉴 건너뛰기

조회 수 5829 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부



AOP는 Aspect Oriented Programming의 약자로 우리말로는 관점 지향 프로그래밍이라고 한다.


여러 객체에 공통으로 적용할 수 있는 기능을 구분함으로, 재사용성을 높여주는 프로그래밍 기법이라고 한다.


AOP의 주요 용어는 아래와 같다.


아래 내용은 초보 웹 개발자를 위한 Spring4 프로그래밍 입문 에서 발췌하였다.


 용어

 의미 

 Joinpoint 

 Advice를 적용 가능한 지점. 메서드 호출, 필드 값 변경 등이 Joinpoint에 해당한다. 스프링은 프록시를 이용해서 AOP를 구현하기 때문에 메서드 호출에 대한 Joinpoint만 지원한다. 

 Pointcut

 Joinpoint의 부분 집합으로서 실제로 Advice가 적용되는 Joinpoint를 나타낸다. 스프링에서는 정규 표현식이나 AspectJ의 문법을 이용하여 Pointcut을 정의할 수 있다. 

 Advice

언제 공통 관심 기능을 핵심 로직에 적용할 지를 정의 한다. 

 Weaving

 Advice를 핵심 로직 코드에 적용하는 것. 

 Aspect

 여러 객체에 공통으로 적용되는 기능 Aspect라고 한다. 트랜잭션이나 보안 등이 Aspect의 좋은 예이다. 



Advice의 종류는 아래와 같다.


 용어

 의미

 Before Advice

 대상 객체의 메서드 호출 전에 공통 기능을 실행한다. 

 After Returning Advice

 대상 객체의 메서드가 익셉션 없이 실행된 이후에 공통 기능을 실행한다.

 After Throwing Advice

 대상 객체의 메서드를 실행하는 도중 익셉션의 발생한 경우에 공통 기능을 실행한다.

 After Advice 

 대상 객체의 메서드 실행 후 공통 기능을 실행한다. 익셉션 발생 여부와 상 관없이 실행한다.

 Around Advice

 대상 객체의 메서드 실행 전, 후 또는 익셉션 발생 시점에 공통 기능을 실행하는데 사용된다.


List of Articles
번호 제목 날짜 조회 수
38 스프링, MySQL, MyBatis 연동 file 2021.05.06 128
37 Java was started but returned exit code=13 - 이클립스 실행시 에러 file 2021.03.31 152
36 스프링 프로젝트 생성 후 샘플 코드 한글 깨짐 현상 file 2021.03.31 186
35 쿠팡 api 프로젝트 / 적용 테스트 (스프링 부트 / 자바 ) file 2021.03.29 567
34 스프링, MySQL, MyBatis 연동 - 데이터 조회하기 file 2021.05.06 793
33 AJAX 통신시 컨트롤러에서 한글 문자열을 리턴해야하는 경우 인코딩 문제 처리 2018.07.04 2599
32 스프링과 안드로이드 연동1(Html 소스 가져오기) 2018.07.04 2676
31 스프링과 안드로이드 연동3 : ( 서버에서 XML로 반환해 가져오기 ) 2018.07.04 2896
30 [펌]자바 Crawling(크로울링) Ajax로 요청하는 것 긁어오기 file 2018.07.04 2898
29 스프링과 안드로이드 연동2 : 서버에서 안드로이드로 이미지 가져오기(다운) 2018.07.04 3319
28 스프링과 안드로이드 연동5 : (Javascript에서 Android 함수 호출하기) 2018.07.04 3390
27 스프링에서 구글맵 연동하기 2018.07.04 4599
26 스프링 외부 경로 폴더 지정하기 2018.07.04 4618
25 스프링 Bean 객체의 초기화 및 소멸시 호출 메서드 file 2016.08.18 4996
24 스프링 XML 설정에서 자바 설정 Import하기 file 2016.08.18 5071
23 JAVA Crawling(크로울링) 기본([펌]http://partnerjun.tistory.com/guestbook) file 2018.07.04 5110
22 스프링을 구성하는 코어 모듈 - core module file 2016.12.08 5119
21 Spring AOP(Aspect Oriented Programming) 에서의 용어 file 2016.12.08 5176
20 Spring Framework 개요 2016.12.08 5339
19 Spring 개발을 위한 Eclipse 개발 환경 구성하기 file 2016.12.06 5431
Board Pagination Prev 1 2 Next
/ 2

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved