springboot 启动拦截器
时间: 2023-12-09 16:35:40 浏览: 243
在Spring Boot中启用拦截器需要以下步骤:
1.创建一个拦截器类并实现HandlerInterceptor接口,然后重写其中的方法。
2.在启动类中使用@Bean注解将拦截器类实例化。
3.在拦截器类上使用@Order注解指定拦截器的执行顺序。
4.在application.properties文件中配置拦截器。
下面是一个示例:
1.创建一个拦截器类并实现HandlerInterceptor接口,然后重写其中的方法。
```java
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 在请求处理之前进行调用(Controller方法调用之前)
return true; // 如果返回false,则请求中断
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// 在整个请求结束之后被调用,也就是在DispatcherServlet渲染了对应的视图之后执行(主要是用于进行资源清理工作)
}
}
```
2.在启动类中使用@Bean注解将拦截器类实例化。
```java
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Bean
public MyInterceptor myInterceptor() {
return new MyInterceptor();
}
}
```
3.在拦截器类上使用@Order注解指定拦截器的执行顺序。
```java
@Order(1)
@Component
public class MyInterceptor implements HandlerInterceptor {
// ...
}
```
4.在application.properties文件中配置拦截器。
```properties
# 配置拦截器
spring.mvc.interceptor.exclude=
spring.mvc.interceptor.include=/api/**
```
阅读全文