我正在使用带有spring3的java我有跟随控制器的服务方法
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
}
我有以下方法为每个方法执行日志记录,我想为每个服务方法调用此方法
public void performLog(HttpServletRequest request){
//process params and log msg
log.debug()
}
请告诉我如何在服务方法后自动调用performLog(request)方法?
答案 0 :(得分:1)
你必须使用Spring AOP。使用@Before注释指定必要的切入点。将此方法放在使用@Aspect注释的类中。类似于
的东西@Aspect
public class BeforeExample {
@Pointcut("execution(ModelAndView com.xyz.myapp.MyController.handleRequest(..))")
public void performLog() {
// ...
}
@Before("execution(* com.xyz.myapp.MyController.*(..))")
public void performLogAll() {
// ...
}
}
可以找到切入点样本here
查看here了解详情