22.point cut
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
댓글남기기