일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 에러페이지
- 이클립스
- Android
- 클래스
- Spring
- 배열
- 예외처리
- 안드로이드
- JavaScript
- AWT
- 어노테이션
- 오버로딩
- 기본
- 국제화
- mybatis
- HTML
- struts2
- JSP
- 메서드
- Eclips
- 생성자
- Menu
- 전화걸기
- OGNL
- Graphic
- oracle
- 메소드
- paint
- layout
- Java
- Today
- Total
note
Spring AOP 본문
AOP(Aspect Oriented Programming)
문제를 바라보는 관점으로 프로그래밍하는 기법
공통 관심 사항(cross-cutting concern)
로깅과 같은 기본적인 기능에서부터 트랜잭션이나 보안과 같은 기능에 이르기까지
어플리케이션 전반에 걸쳐 적용되는 공통 기능이 존재한다
Struts2에 비유한다면 interceptor라고 볼수 있으며
interceptor의 확장 기능이라 생각하면 된다(액션의 전후처리)
공통 기능 코드를 전후로 모듈화해서
밖으로 빼낸다고 보면됨
Advice -
언제 공통 관심 기능을 핵심 로직에 적용할 지를 정의하고 있다.
Jointpoint -
Advice를 적용 가능한 지점을 의미한다
(메서드 호출, 필드값 변경)등
Pointcut -
Jointpoint의 부분집합으로서 실제로 Advice가 적용되는 Joinpoint를 나타낸다
Weaving -
Advice를 핵심 로직 코드에 적용되는것을 weaving 이라고 한다
Aspect -
여러 객체에 공통으로 적용되는 공통 관심 사항을 Aspect라고 한다
XML설정 대신 어노테이션 설정으로 할시에는 보기에 편하고 무슨 기능으로 동작하는지 알 수 있다
(XML 설정정보가 많아질 수록 알아 보기가 어려움)
그래서 현재 추세는 XML설정대신 어노테이션 방법으로 설정하는 추세임
구현 가능한 Advice 종류
Before Advice
대상 객체의 메서드 호출전에 공통 기능을 실행한다.
After Returning Advice
대상 객체의 메서드가 예외 없이 실행한 이후에 공통 기능을 실행한다.
After Throwing Advice
대상 객체의 메서드를 실행하는 도중 예외가 발생한 경우에 공통 기능을 실행한다
After Advice
대상 객체의 메서드를 실행하는 도중에 예외가 발생했는지의 여부와 상관없이 메서드 실행 후 공통 기능을 실행한다.
(try-catch-finally의 finally 블록과 비슷하다.)
Around Advice
대상 객체의 메서드 실행 전, 후 또는 예외 발생 시점에 공통 기능을 실행하는데 사용된다
'JSP > Spring' 카테고리의 다른 글
Spring Web (1) | 2012.03.02 |
---|---|
Spring AOP XML스키마 기반의 POJO 클래스를 이용한 AOP 구현 (0) | 2012.03.02 |
Spring @Component 어노테이션을 이용한 자동 스캔 (0) | 2012.03.02 |
Spring @PostConstruct / @PreDestroy 어노테이션과 라이프 사이클 (0) | 2012.03.02 |
Spring @Resource 어노테이션 (0) | 2012.03.02 |