[spring]스프링 aop 개념
스프링은 AOP 프레임워크 기능도 제공한다.
AOP - Aspect Oriented Programming, 관점 지향 프로그래밍
관점 지향과 횡단적 관심사 분리
○ 관점
- 소프트웨어가 갖는 다양한 특징이나 성질
○ 공통 관심 사항(횡단관심사)
- 어떤 특정 모듈에서만 필요로 하는 것이 아니라, 어플리케이션 전반에 걸쳐 필요한 기능
- Logging 기능, DB 트랜잭션 기능, 보안, 기타 등등
AOP 용어
○ 어드바이스(Advice)
- 관점으로서 분리되고 실행시 모듈에 위빙된 구체적인 처리
- Advice가 어디에서 위빙하는지 Poincut이라는 단위로 정의
- Advice가 위빙되는 인스턴스를 '대상객체'라고 부름
- Advice 타입
before | 함수 실행전 advice를 실행 |
after | 함수가 종료(outcome)되지 않는한 함수 실행전 advice를 실행 |
after-returning | 함수가 성공적으로 완료되면 함수 실행 후 advice 실행 |
after-throwing | 함수가 exception 발생으로 종료되면 함수 실행 후 advice 실행 |
around | 호출된 advice된 함수 전/후에 advice 실행 |
○ 조인포인트(Joinpoint)
- Advice를 위빙하는 포인트
- 구체적으로 '메소드호출'이나 '예외 발생'이라는 포인트를 Joinpoint로 정의
○ 포인트컷(Pointcut)
- 하나 또는 복수의 Joinpoint를 하나로 묶은 것
- Advice의 위빙 정의는 Pointcut을 대상으로 설정
- 하나의 Pointcut에는 복수 Advice를 연결할 수 있음
○ 어드바이저(Advisor)
- Advice와 Pointcut을 하나로 묶어 다루는 것
- Advisor는 스프링 AOP에만 있음
○ Weaving
- 포인트컷에 의해서 결정된 조인포인트에 지정된 어드바이스를 삽입하는 과정 (다른 말로 크로스컷팅)
스프링 AOP에 대해서 정리 하였습니다.
처음에 이론을 보면서 확 와닿지가 않았습니다. 하지만 실습을 통해 조금은..???이해 할 수 있었습니다.
'개발 > java,spring' 카테고리의 다른 글
에러 : Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0 (0) | 2016.04.28 |
---|---|
[java]자바 스프링, spring AOP 구현 (xml 방식) (0) | 2016.04.21 |
[java spring]spring AOP 구현(Annotation 방법) (0) | 2016.04.16 |
xls, xlsx 파싱(XSSFWorkbook, HSSFWorkbook, XLSParser) (0) | 2016.04.16 |
jdom,java, xml 파일 생성 (0) | 2016.04.14 |
[java]자바 파일 삭제 (0) | 2016.04.06 |
[java]자바 파일 복사 (4) | 2016.03.31 |