최대 1 분 소요

Point Cut

  • AOP구현 방식
Core Corn  
                        -->  위빙
Cross-cutting Concern - Proxy

내용을 뜨게질 하는 것 : 위빙

조인 포인트:위빙할 때 대상으로 가지는 메소드 연결해야할 포인트점/Cross 에서 연결해야할 메소드가 core에서는 포인트지점이 된다

proxy는 타겟을 대상으로 모든 메소드를 조인 포인트로 본다 하나만 조인포인트로 원하면 포인트 컷을 사용한다

 

 

  • total에 before

advice설정해보기

  • point cut 사용
<bean id ="classicPointCut" class="org.springframework.aop.support.NameMatchMethodPointcut">
		<property name="mappedName" value="total"/>
	</bean>
	<!--아래의 핸들러와 연결을 해줘야한다  advisor는 포인트컷과 핸들러를 연결해주는 역할을 한다-->
	<bean id="classicBeforeAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
	<property name="advice" ref="logBeforeAdvice" /> <!--setadvice이다  -->
	<property name="pointcut" ref="classicPointCut" />
	</bean>
	

<bean id ="exam" class="org.springframework.aop.framework.ProxyFactoryBean">
	<property name="target" ref="target" />
	<!-- 핸들러 넣어준다  -->
	<property name="interceptorNames">
		<list>
			<value>logAroundAdvice</value>
			<value>classicBeforeAdvisor</value> <!-- advisor을 넣어준다 -->
			<value>logAfterAdvice</value>
			<value>logAfterTrowingAdvice</value>
		</list>
	</property>
	</bean>

앞에 실행될 로직
return:4, method:total
201ms 시간 걸렸습니다
total is 4
return:1.0, method:avg
203ms 시간 걸렸습니다
avg is 1.000000

카테고리:

업데이트:

댓글남기기