스프링 간단한 aop 연습
- 카테고리 없음
- 2010. 7. 28.
* jar추가
aspectjrt-1.5.4.jar , aspectjweaver-1.5.4.jar
public void logMethodEntry(JoinPoint joinPoint) {
log.info("{}",joinPoint.getTarget().getClass());
Signature signature = joinPoint.getSignature();
log.info("method : {}",signature.getName());
Object[] args = joinPoint.getArgs();
String name = joinPoint.getTarget().getClass().toString();
StringBuffer sb = new StringBuffer(name + "\n");
log.info("**************************************************************");
for (int i = 0; i < args.length; i++) {
Object o = args[i];
sb.append("PARAMETER["+i+"]"+o+"\b");
}
log.info(sb.toString());
log.info("**************************************************************");
}
public void logMethodExit(StaticPart staticPart, Object result) {
String name = staticPart.getSignature().toLongString();
log.info("**************************************************************");
log.info(name + " returning: [" + result + "]");
log.info("**************************************************************");
}
* 빈 설정파일
<beans xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:config proxy-target-class="true">
<aop:pointcut id="servicePointcut" expression="execution(* admin.web.controller..*(..))" />
<aop:aspect id="loggingAspect" ref="methodLogger">
<aop:before method="logMethodEntry" pointcut-ref="servicePointcut" />
<aop:after-returning method="logMethodExit" returning="result" pointcut-ref="servicePointcut" />
</aop:aspect>
</aop:config>
<bean id="methodLogger" class="admin.web.util.MethodLogger" />
</beans>