带有日志记录的java spring 3基于注释的控制器

时间:2011-12-30 16:25:57

标签: spring aop

我正在使用带有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)方法?

1 个答案:

答案 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了解详情