标签:拦截器 SpringBoot 自定义 配置 org import servlet public
最近突发奇想,整合一下以前一些学习笔记,分享自己这几年爬过的坑,逐步更新文章,谢谢大家的关注和支持。
自定义一个类实现HandlerInterceptor
package cn.sysu.ming.interceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MyInterceptor implements HandlerInterceptor {
private static final Logger log = LoggerFactory.getLogger(MyInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("preHandle 方法执行了");
return true;
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
log.info("afterCompletion 方法执行了");
}
}
当配置完拦截器后,还得告诉SpringBoot,因为拦截器不是一个普通属性,而是一个类,所以用到了java配置。不懂java配置的可以参考一下我前面发过的1-3. SpringBoot基础,Java配置(全注解配置)取代xml配置
如果想保持SpringBoot一些默认MVC特征,同时又想自定义一些MVC配置(包括:拦截器,格式化器,视图控制器,消息转换器等),让一个类实现WebMvcConfigurer,并且添加@Configuration注解,但千万别加@EnableWebMvc注解。
package cn.sysu.ming.config;
import cn.sysu.ming.interceptor.MyInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");
}
}
注意,如果配置了debug的化,要在application.properties或者application.yml中修改日志控制级别,logging.level,值为Map结构,key为包,value为级别(info、debug,error等等),这边使用application.yml举个例子
server:
port: 80
logging:
level:
cn.sysu.ming:
info
启动项目,游览器输入url来访问controller方法
博主的坚持 离不开大家关注、评论和点赞,感谢大家支持。护发路上互相扶持!!!
标签:拦截器,SpringBoot,自定义,配置,org,import,servlet,public 来源: https://blog.csdn.net/dogHuaMing/article/details/112093217
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。