advanced java programming n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
고급자바프로그래밍 (Advanced Java Programming) PowerPoint Presentation
Download Presentation
고급자바프로그래밍 (Advanced Java Programming)

Loading in 2 Seconds...

play fullscreen
1 / 13

고급자바프로그래밍 (Advanced Java Programming) - PowerPoint PPT Presentation


  • 205 Views
  • Uploaded on

고급자바프로그래밍 (Advanced Java Programming). 강원대학교 컴퓨터학부 2012 년 가을학기 담당교수 정충교. 6 장 AOP 2. 6.5 스프링 AOP. 투명한 부가 기능 부가 기능을 적용한 후에도 기존 기본 기능의 설계와 코드에 영향을 주지 않음. 자동 프록시 생성. 빈 후처리기 DefaultAdvisorAutoProxyCreator implements BeanPostProcessor. org.springframework.aop Interface Pointcut {

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '고급자바프로그래밍 (Advanced Java Programming)' - carter-morse


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
advanced java programming

고급자바프로그래밍(Advanced Java Programming)

강원대학교컴퓨터학부

2012년 가을학기

담당교수정충교

6 5 aop
6.5 스프링 AOP
  • 투명한 부가 기능
  • 부가 기능을 적용한 후에도 기존 기본 기능의 설계와 코드에 영향을 주지 않음
slide4
자동 프록시 생성
  • 빈 후처리기
  • DefaultAdvisorAutoProxyCreator implements BeanPostProcessor

org.springframework.aop

Interface Pointcut {

ClassFiltergetClassFilter() ;

MethodMatchergetMethodMatcher();

}

6 5 3
6.5.3 포인트컷표현식을 이용한 포인트컷

AspectJExpressionPointcut

AspectJExpressionPointcutpointcut = new AspectJExpressionPointcut();

pointcut.setExpression("execution(* minus(int,int))");pointcut.setExpression("execution(* springbook.test.Target.minus(int,int))");

<bean id="transactionPointcut" class="org.springframework.aop.aspectj.AspectJExpressionPointcut">

<property name="expression" value="execution(* *..*ServiceImpl.upgrade*(..))" />

</bean>

6 5 4 aop
6.5.4 AOP란 무엇인가?
  • 트랜잭션 서비스 추상화
  • 프록시와데코레이션 패턴
  • 다이내믹 프록시와프록시팩토리빈
  • 자동 프록시 생성 방법과 포인트컷
  • 부가기능의 모듈화
  • AOP: 에스펙트 지향 프로그래밍
6 5 5 aop
6.5.5 AOP 적용 기술
  • 프록시를 이용한 AOP
  • 바이트코드 생성과 조작을 통한 AOP
6 5 7 aop
6.5.7 AOP의 네임스페이스

아래 설정 파일을 단순화 – 리스트 6-66, 6-67

<bean id="transactionAdvice" class="springbook.user.service.TransactionAdvice">

<property name="transactionManager" ref="transactionManager" />

</bean>

<bean id="transactionPointcut" class="org.springframework.aop.aspectj.AspectJExpressionPointcut">

<property name="expression" value="execution(* *..*ServiceImpl.upgrade*(..))" />

</bean>

<bean id="transactionAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">

<property name="advice" ref="transactionAdvice" />

<property name="pointcut" ref="transactionPointcut" />

</bean>

slide10
6.7 트랜잭션 속성
  • 트랜잭션 전파 (transaction propagation)
    • PROPAGATION_REQUIRED
    • PROPAGATION_REQUIRES_NEW
    • PROPAGATION_NOT_SUPPORTED
  • 격리수준 (isolation level)
  • 제한시간 (timeout)
  • 읽기전용(readonly)
transactioninterceptor transaction attributes
TransactionInterceptor와 transaction attributes
  • 메소드별로 다른 속성의 트랜잭션을 적용
  • TransactionInterceptor어드바이스
    • 리스트 6-71
    • 리스트 6-72