달력

82019  이전 다음

  •  
  •  
  •  
  •  
  • 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
  • 31



코드 곳곳에 비슷한 패턴으로 들어가 있는 부가작업: 로깅, 트랜잭션, 등

이 코드를 한 클래스에 모아놓음 : Advice

그리고 남겨진 순수한 코드 : Core Concern



이제 Advice와 핵심코드를 엮어주는 일: Weaving

어떤 패턴으로 엮어줄 것인가: PointCut



엮어줄 시점을 정하는 것: JoinPoint

핵심코드 실행시점 전에 Advice를 실행 : before

핵심코드 실행시점 전과 후에 Advice를 실행 : around

핵심코드 실행시 예외 발생 Advice를 실행 : throw

...


XML

<bean id="adviceUsingXML" class="egovframework.rte.fdl.aop.sample.AdviceUsingXML" />

<bean id="concernSample" class="egovframework.rte.fdl.aop.sample.ConcernSample" /> 

<aop:config>
  <
aop:pointcut id="targetMethod" expression="execution(* egovframework.rte.fdl.aop.sample.*Sample.*(..))" /> 

  <aop:aspect ref="adviceUsingXML">

    <aop:before pointcut-ref="targetMethod" method="beforeTargetMethod" /> 

    <aop:after-returning pointcut-ref="targetMethod" method="afterReturningTargetMethod" returning="retVal" /> 

    <aop:after-throwing pointcut-ref="targetMethod" method="afterThrowingTargetMethod" throwing="exception" />

    <aop:after pointcut-ref="targetMethod" method="afterTargetMethod" /> 

    <aop:around pointcut-ref="targetMethod" method="aroundTargetMethod" />

  </aop:aspect>

</aop:config>

code from: egovframe textbook 


추천예제: 최범균님 스프링3.0 서적 chap01 예제

http://www.kame.co.kr/pds1.html?main=main_pds [G220] 링크




Posted by 케누 kenu허광남
TAG