热部署插件依赖
<!--SpringBoot开发自动热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
SpringBoot使用拦截器
- 项目目录:
这里以登录拦截器为例,所有拦截器都要实现HandlerInterceptor接口
- LoginInterceptor:
/**登录拦截器
* */
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception {
System.out.println("执行登录拦截器");
return true;
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler,
ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response,
Object handler, Exception ex) throws Exception {
}
}
由于SpringBoot没有xml文件所以需要使用@Configuration注解来声明一个配置类来配置拦截器
- WebMVCConfig:
/**配置类
* 需要添加@Configuration注解
* 相当于一个Spring的xml配置文件(即application.xml)
* */
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
/**添加拦截器函数
**/
@Override
public void addInterceptors(InterceptorRegistry registry) {
/**需要拦截的路径,是一个字符串数组
* */
String[] addPathPatterns={"/**"};
/**不需要拦截的路径
* */
String[] excludePathterns={"/boot/select"};
/**给对应的拦截器进行配置
* */
registry.addInterceptor(new LoginInterceptor())
.addPathPatterns(addPathPatterns)
.excludePathPatterns(excludePathterns);
}
}