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