1.創建一個類實現 HandlerInterceptor
接口,重寫接口的方法,添加@Component
註解,這個註解是爲後面的使用時進行注入。例:
package com.donlex.mybatiswithspringboot.component;
import com.donlex.mybatiswithspringboot.model.User;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class Userhandle implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
//方法執行之前調用攔截
System.out.println("攔截成功");
//這裏寫攔截之後的處理
return true;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
2.在入口類的目錄或者兄弟目錄下創建一個類繼承 WebMvcConfigurerAdapter
類並重寫 addInterceptors
方法;
在該類上方添加註解@SpringBootConfiguration
,該 註解表明這是一個配置類
package com.donlex.mybatiswithspringboot.config;
import com.donlex.mybatiswithspringboot.component.Userhandle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@SpringBootConfiguration //添加配置類註解
public class UserLoginConfig extends WebMvcConfigurerAdapter {
@Autowired
private Userhandle userhandle;
@Override
public void addInterceptors(InterceptorRegistry interceptorRegistry) {
interceptorRegistry.addInterceptor(userhandle).addPathPatterns("/**");
}
}
3.項目結構如下:
注意新創建的兩個包跟啓動類是在同一級的