spring boot 拦截器的实现以及遇到的问题的解决方案
2017-02-24 17:29
627 查看
spring boot拦截器的实现
1、创建拦截器
创建拦截器,实现HandlerInterceptor接口即可import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class MyInterceptor implements HandlerInterceptor{ @Autowired private BeanService service ; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // TODO Auto-generated method stub return false; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // TODO Auto-generated method stub } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { // TODO Auto-generated method stub } }
2、注册拦截器
注册拦截器的实现import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration @EnableWebMvc public class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter { @Bean MyInterceptor myInterceptor(){ return new MyInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(myInterceptor()).addPathPatterns("/*"); super.addInterceptors(registry); super.addInterceptors(registry); } }
问题解析
1、bean加载的问题在拦截器中注入bean。然后在注册拦截器的时候直接new或者是注入数据的时候会出现拦截器中的bean注册失败的问题,解决方案如MyWebMvcConfigurerAdapter代码片。添加一个方法去做拦截器加载,在方法上使用@bean去进行bean的加载管理即可
相关文章推荐
- 使用Spring MVC 实现文件上传遇到的问题以及解决方案
- (二十三)IDEA 构建一个springboot工程,以及可能遇到的问题
- springboot注册拦截器所遇到的问题
- js+html+springboot实现文件夹上传遇到的坑及其解决方案!
- Spring 与Struts2整合遇到的问题以及解决方案
- spring boot--整合spring session实现session共享以及cookie丢失问题解决
- spring+quartz实现定时任务遇到问题总结(bean无法注入)
- 最近遇到的一些问题以及解决方案
- spring-websocket框架搭建遇到的问题解决方案汇总
- Spring2.5,Activemq5.2整合遇到的问题以及解决方法
- spring boot 使用spring AOP实现拦截器
- SpringBoot学习——@Autowired自动注入报:could not be found问题的理解和解决方案
- 记开发时遇到的两个问题以及解决方案
- 项目中遇到的一些需要重构的问题以及解决方案1-应该尽量减少缩进层次
- (十三)SpringBoot之Spring-Data-Jpa(二)CRUD实现以及添加自定义方法
- Android 沉浸式状态栏实现,以及遇到的问题
- 使用springboot+springsession实现分布式session以及源码解析
- 关于SpringBoot创建时候遇到的问题之网页打开不显示信息
- 有关于面试常遇到的问题回答,以及解决方案。
- Spring 整合redis集群 实现 以及过程中需要注意的问题点