-
静态资源映射器
- 注解 configuration
- 继承 WebMvcConfigurationSupport
- 实现addResourceHandlers方法
@Configuration public class WebMvcConfig extends WebMvcConfigurationSupport{ @override protect void addResourceHandlers(ResourceHandlerRegister registry){ registry.addResourceHandler("/backend/**").addResourceLocation("classpath:/backend/") } }
-
全局异常处理器
- 注解:ControllerAdvice(annotations={**Controller.class})
- ResponseBody
- 实现方法上添加注解 ExceptionHandle(***Exception.class)
@ControllerAdvice(annotations = {RestController.class,Controller.class}) @ResponseBody @Slf4j public class GlobalExceptionHandler{ @ExceptionHandler(***Expection.class) public R<String> exceptionHandler(SQLIntegrityConstraintViolationException exception) { log.error(exception.getMessage()); if (exception.getMessage().contains("Duplicate entry")) { String[] strings = exception.getMessage().split(" "); String msg ="用户名 "+ strings[2] + " 已存在"; return R.error(msg); } return R.error("未知错误存在"); } }
-
过滤器
- 注解:WebFilter(filtername=””, urlPattern = “/拦截什么样的路径”)
- 接口:Filter
- 实现 doFilter()方法
- 若使用通配符,需要使用 antPathMatcher 对象
@WebFilter(filterName = "loginCheckFilter",urlPatterns = "/*") public class LoginCheckFilter implements Filter{ @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain){ // 进行向下转型 HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; // 释放拦截 filterChain.doFilter(request,response); // 进行处理,向前端传递信号,由前端进行分析 response.getWriter().write(JSON.toJSONString(R.error("NOTLOGIN"))); } }
-
分页查询
- 创建mp拦截器配置
- 类注解: @configuration
- 方法注解: @Bean
- 创建mp内置拦截器
- 为拦截器添加分页拦截器
- Controller使用分页构造器
- 构建分页构造器
- 构建条件过滤器
- 添加过滤条件
- 进行查询
// 使用分页查询 @GetMapping("/page") public R<Page<Employee>> page(int page,int pageSize,String name){ // 构造分页构造器,将当前查询页数,页码大小传入 Page<Employee> pageInfo = new Page<>(page,pageSize); // 条件构造村 LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>(); // 添加一个过滤条件 // 当name !=null 改行函数才会执行 queryWrapper.like(StringUtils.isNotEmpty(name), Employee::getName, name); queryWrapper.orderByDesc(Employee::getUpdateTime); // 执行查询,页数大小和查询条件 employeeService.page(pageInfo, queryWrapper); return R.success(pageInfo); }
// 进行mp拦截器配置 @Configuration public class MyBatisPlusConfig{ @Bean public MyBatisPlusInterceptor mybatisInterceptor(){ MyBatisPlusInterceptor mp = new MyBatisPlusInterceptor(); mp.addInnerInterceptor(new PaginationInnerInterceptor); return mp; } }
- 创建mp拦截器配置
-
消息转换器,对数据进行转换
原文地址:http://www.cnblogs.com/serendipity-igao/p/16811430.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性