Spring - AOP Point Cut(Weaving, Join Point)

jodbsgh·2022년 4월 29일
0

🍕"Spring"

목록 보기
19/19

포인트컷(Pointcuts)

Core Concern의 일부분만 Cross-Cutting Concern이 작동하도록 구현하는 것

조인 포인트(JoinPoint)

일부분만 Cross-Cutting Concern이 작동하도록 할 때, 그 일부분(Core Concern)

위빙(weaving)

Cross-cutting Concern 과 Core Concern이 연결되도록 하는 행위

<!--setting.xml side -->
<beans>
	<bean id="target" class="spring.aop.entity.NewlecExam"
    		p:kor="1" p:eng="1" p:math="1" p:com="1" />
    <bean id="LogBeforeAdvice" 
    				class="spring.aop.advice.LogBeforeAdvice" />
    
    <!------------------------ 시작 ---------------------------------->
    <bean id="classicPointCut" class="org.springframework.aop.support
    												.NameMatchMethodPointcut">
    	<property name="mappedName" value="total" />
        <!-- name은 틀리면 안되고, value는 위빙할 메서드명 -->
    </bean>
    
    <bean id="classBeforeAdvisor" class="org.springframework.aop.support
    												.DefaultPointcutAdvisor">
    	<property name="advice" ref="logBeforeAdvice" />
        <!-- setAdvice를 set을 생략하고 소문자로 바꿔서 기입한 것
        	ref는 실행할 AOP bean을 넣어준다.-->
        <property name="pointcut" ref="classPointCut" />
    </bean>
    
    <!------------------------ 끝 ----------------------------------->
    
    <bean id="proxy" 
    				class="org.springframework.aop.framework.ProxyFactoryBean">
    	<property name="target" ref="target" />
    	<property name="interceptorNames">
        	<list>
            	<value>classBeforeAdvisor</value>
            </list>
        </property>
    </bean>
</beans>
profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글