일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 상속
- 상속예제
- 25가지 효율적인 sql작성법
- Random
- 자바 야구게임
- IBatis procedure
- 업캐스팅
- 전체텍스트
- jquery
- Login with OAuth Authentication
- 페이징
- 자바
- 로또
- 가변인자
- 전체
- 야구게임
- 이클립스
- 전자정부
- Full text
- angular2
- 단축키
- 다운캐스팅
- 스프링
- 추상클래스
- Validations
- 형변환
- while
- full text indexing
- 다형성
- Today
- Total
nalaolla
AOP-Aspect Oriented Programming 본문
AOP-Aspect Oriented Programming
관점 지향 프로그래밍 - 어플리케이션 핵심이 모듈을 구동함에 있어서 공통적으로 적용되는 기능(트랜젝션,보안,Logging 등등)을 분리하여 적용하는 기술을 말함.
기존방법 상속 : 상속은 다중모듈에서 구현히 힘들다.
관점 지향방식 : spring AOP 는 특정객체를 생성하여 이를 필요로 하는곳에 끼워넣어서 처리한다.
용어정리:
1. Aspect : 공통 관심 사항
2. Advice : Aspect 처리시 실행문 또는 기능구현부
3. Joinpoint : Advice를 적용할 메소드 콜 또는 필드값 초기화, 자바단과 Advice를 연동설정
4. PointCut : Joinpoint의 일부분으로서 실제 Advice에 설정시 클래스,메소드,정규표현식등으로 설정한다.
5. Weaving : Advice,Pointcut 을 조합하는 과정을 말함. spring Weaving 시점은 컴파일,로딩,런타임 이렇게 3가지 방법중 런타임시점 위빙이다.
6. Target : Advice 대상이되는 객체 혹은 모듈
7. Proxy : Advice 를 Target에 적용시 생성되는 객체를 의미하며 개발자가 최종적으로 원하는 공통모듈 구현 객체이다.
spring AOP 의 특징 :
1. Advice는 class로 구현
2. Aspect 는 런타임시점에 위빙
3. Joinpoint 는 메소드에만 지원(생성자 지원안함)
4. AOP구현 방법 3가지 : spring api, POJO(Plain Old Java Object), AscpectJ5 @Aspect 어노테이션 사용
참고 POJO : 스프링이전 EJB(Enterprise Java Bean) 서버 관리 프로그램의 프레임워크나 특정 자바 모델에 종속이지 않는 자바객체를 표현하기 위한 용어(마틴 파울러)이며 스프링은 POJO방식 프레임워크이다.
[POJO AOP]
XML 스키마 설정
root-context.xml aop Namespaces 설정
Advice 설정
[설정 예 : ]
[스프링AOP]
스프링AOP는 인터페이스에 선언된 메소드에만 적용할 수 있다.
'SPRING' 카테고리의 다른 글
테스트 주도 개발(TDD-Test Driven Development) (0) | 2016.03.30 |
---|---|
SqlSession + MyBatis + 프로시져 호출하여 우편번호 가져오기 (0) | 2016.03.26 |
인터셉터(Interceptor) 사용하기 (0) | 2016.03.18 |
log4j 사용 및 적용방법 (0) | 2016.03.17 |
mybatis사용하기 (0) | 2016.03.16 |