spring boot 注册拦截器过程详解
2019-11-02 18:07
2031 查看
拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。
如何在spring boot中添加拦截器?
1.首先自己实现一个拦截器
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyInterceptor implements HandlerInterceptor{ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("preHandler"); return true;//这里一定要返回true要不然后面的不会执行 } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("postHandler"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("afterHandler"); } }
2.实现WebMvcConfigurer接口并重写addInterceptors方法
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(myInterceptor()).addPathPatterns("/**");//将自己的拦截器注册到spring中并添加拦截的路径 } @Bean MyInterceptor myInterceptor(){ return new MyInterceptor();//提供自己的拦截器的bean } }
3.创建controller进行测试
@RestController public class HelloController { @GetMapping("gethello") public String getHello(){ System.out.println("get hello"); return "get hello"; } }
4.测试结果
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- springboot配置redis过程详解
- Springboot项目使用拦截器方法详解
- Spring Boot启动过程(五)之Springboot内嵌Tomcat对象的start教程详解
- springboot 注册服务注册中心(zk)的两种方式详解
- 详解SpringBoot AOP 拦截器(Aspect注解方式)
- 详解Spring Boot 使用Java代码创建Bean并注册到Spring中
- 配置一个Spring Boot应用的过程详解
- (一)SpringBoot源码解析----启动过程refresh()方法详解
- SpringBoot 注册自定义 过滤器、拦截器、监听器... 等组件到容器的两种方式(springboot2.x)
- springboot注册拦截器所遇到的问题
- spring boot中注册拦截器
- springboot config 拦截器使用方法实例详解
- SpringBoot项目部署到阿里云服务器部署过程(图文详解)
- springboot中注册拦截器时,拦截器中注入bean对象失效问题
- SpringBoot启动过程详解
- springboot 获取工具类bean过程详解
- 在Docker中部署Spring Boot项目过程详解
- Spring Boot启动过程(六)之内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动教程详解
- 详解SpringBoot 解决拦截器注入Service为空问题
- SpringBoot + Swagger + RESTful 实战详解