springboot怎么让自定义的拦截器优先于pagehelper执行
2个回答
展开全部
把pagehelper-spring-boot-starter包改成pagehelper,不自动配置改为手动配置顺序,例如分页前拦截数据权限:
@Configuration
public class MybatisInterceptorAutoConfiguration {
@Autowired
private List<SqlSessionFactory> sqlSessionFactoryList;
@Bean
@ConfigurationProperties(prefix = "pagehelper")
public Properties pageHelperProperties() {
return new Properties();
}
@PostConstruct
public void addMysqlInterceptor() {
//数据权限拦截器
DataPermissionInterceptor dataPermissionInterceptor = new DataPermissionInterceptor();
//分页拦截器
PageInterceptor pageInterceptor = new PageInterceptor();
pageInterceptor.setProperties(this.pageHelperProperties());
for (SqlSessionFactory sqlSessionFactory : sqlSessionFactoryList) {
sqlSessionFactory.getConfiguration().addInterceptor(pageInterceptor);
sqlSessionFactory.getConfiguration().addInterceptor(dataPermissionInterceptor);
}
}
}
展开全部
自定义的拦截器和pagehelper是2个完全不同的东西啊
拦截器中可以执行pagehelper代码
多个拦截器有顺序,按照配置的顺序来。
我不太理解你的问题
拦截器中可以执行pagehelper代码
多个拦截器有顺序,按照配置的顺序来。
我不太理解你的问题
更多追问追答
追问
pagehelper的底层也是一个拦截器呀 是基于拦截器实现的
然后 我想问的主要就是 有多个拦截器 怎么在springboot中用注解来配置它的执行顺序?
谢答
追答
implements WebMvcConfigurer
/**
* 多个拦截器组成一个拦截器链
* addPathPatterns 添加拦截规则
* excludePathPatterns 排除拦截
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 白名单配置
registry.addInterceptor(ipWhiteListInterceptor).addPathPatterns("/**");
// 菜单权限
registry.addInterceptor(menuAuthInterceptor).addPathPatterns("/**")
.excludePathPatterns(adminConfig.getIgnoredPath())
.excludePathPatterns(fileUploadConfig.getResourceHandler())
.excludePathPatterns(ueditorUploadConfig.getResourceHandler());
}
addInterceptors方法里多个拦截器配置,按顺序
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询