可以通过过滤器实现记录指定请求路径下的方法的执行时间等需求
Filter代码
package cn.nhb.upload.util;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.*;
import java.io.IOException;
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean RegisterFilter() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new UrlFilter());//实例化filter
registration.addUrlPatterns("/*"); //设置匹配模式
registration.setName("MyFilter"); //设置名字
registration.setOrder(1); //设置执行顺序
return registration;
}
class UrlFilter implements Filter {
@Override
public void init(javax.servlet.FilterConfig filterConfig) {
System.out.println("过滤器初始化成功");
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("开始过滤");
chain.doFilter(request,response);//转发请求到下一个filter或请求的资源
System.out.println("过滤结束");
}
@Override
public void destroy() {
System.out.println("过滤器已经被销毁");
}
}
}
执行结果: