spring boot 注册拦截器过程详解

网友投稿 562 2023-07-14

spring boot 注册-过程详解

spring boot 注册-过程详解

-是动态拦截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 MyIntercephttp://tor();//提供自己的-的bean

}

}

3.创建controller进行测试

@RestController

public class HelloController {

@GetMapping("gethello")

public String getHello(){

System.out.println("get hello");

return "get hello";

}

}WxEsgJ

4.测试结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mybatis如何通过注解开启使用二级缓存
下一篇:spring项目实现单元测试过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~