Spring # 25 간소화된 Advisor

underlier12·2020년 2월 14일
0

SPRING

목록 보기
25/25

25. 간소화된 Advisor

Point Cut + Advisor

지난번 Point Cut 마다 Advisor가 추가되어야 하는 불편함이 있었는데 이를 간소화하여 합쳐본다. Point Cut을 Advisor 내로 합병하고 이에 필요한 Point Cut, 즉 메소드를 list 태그 내에 위치 시킨다.

setting.xml

Advisor 내에 total, avg 메소드에 대한 Point Cut을 합쳤을 때의 모습이다.

<bean id="classAroundAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
		<property name="advice" ref="logAroundAdvice" />
		<property name="mappedName" >
			<list>
				<value>total</value>
				<value>avg</value>
			</list>
		</property> 
	</bean>

만약 Before Advisor에 대해서도 필요하다면 classBeforeAdvisor를 추가해준다. 아래는 total 메소드에 대해서만 적용하였다.

	<bean id="classBeforeAdvisor" class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor">
		<property name="advice" ref="logBeforeAdvice" />
		<property name="mappedName" value="total" />
	</bean>

적용해야할 메소드가 많고 특정 패턴을 가지고 있다면 다음과 같이 정규식을 이용하여 작성할 수도 있다.

	<bean id="classAroundAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
		<property name="advice" ref="logAroundAdvice" />
		<property name="patterns" >
			<list>
				<value>.*ot.*</value>
			</list>
		</property> 
	</bean>
profile
logos and alogos

0개의 댓글