借助工具类
@Componentpublic class TrackUtil {public static TrackUtil trackUtil; //声明对象@Autowired //注入TrackService trackService;@PostConstruct //初始化public void init() {trackUtil = this;trackUtil.trackService = this.trackService;}public static void report(Object info){trackUtil.trackService.report(info);}} 全局异常处理:@ExceptionHandler 统一处理业务异常 @ControllerAdvicepublic class GlobalExceptionHandler {@ExceptionHandler({ServletException.class})@ResponseBody@ResponseStatus(value = HttpStatus.BAD_REQUEST)public JsonResult errorHandler1(HttpServletRequest request,HttpServletResponse response,Exception e) {e.printStackTrace();response.setCharacterEncoding("UTF-8");//防止返回中文乱码return JsonResult.build(400, e.getMessage());}@ExceptionHandler({Exception.class})@ResponseBody@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)public JsonResult errorHandler(HttpServletRequest request,HttpServletResponse response,Exception e) {e.printStackTrace();response.setCharacterEncoding("UTF-8");//防止返回中文乱码return JsonResult.build(500, e.getMessage());} 自定义JsonResult @Datapublic class JsonResult {private Integer code; //响应状态码private String msg; //响应消息private Object data; //响应数据public JsonResult(Integer code, String msg, Object data) {this.code = code;this.msg = msg;this.data = data;}public JsonResult(Integer code, String msg) {this.code = code;this.msg = msg;}public static JsonResult build(Integer status, String msg, Object data) {JsonResult jsonResult = new JsonResult(status, msg, data);return jsonResult;}public static JsonResult build(Integer status, String msg) {JsonResult jsonResult = new JsonResult(status, msg);return jsonResult;}public static JsonResult ok( Object data) {JsonResult jsonResult = new JsonResult(200, "success", data);return jsonResult;}@Overridepublic String toString() {JSONObject jsonObject=new JSONObject();jsonObject.put("code",code);jsonObject.put("msg",msg);jsonObject.put("data",data);return JSON.toJSONString(jsonObject);}} 全局跨域配置:WebMvcConfigurer @Configurationpublic class WebConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry corsRegistry) {corsRegistry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS").allowCredentials(true).maxAge(3600).allowedHeaders("*");}} 静态(static)方法中调用接口(Service层) @Componentpublic class JwtUtil {/*** 静态方法调用非静态接口层(Service层)*/public static JwtUtil jwtUtil; //声明对象@PostConstruct //初始化public void init() {jwtUtil = this;jwtUtil.userService = this.userService;}@Autowired //注入UserService userService;public static boolean checkSign(String token) {...String username= jwtUtil.userService.getUsernameById(userId);...} 定时任务 package com.example.demo.util;import lombok.extern.slf4j.Slf4j;import org.springframework.scheduling.annotation.Async;import org.springframework.scheduling.annotation.EnableAsync;import org.springframework.scheduling.annotation.EnableScheduling;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;@Component@EnableScheduling //开启定时任务@EnableAsync //开启多线程@Slf4jpublic class ScheduleAsync {/** cron* [秒] [分] [小时] [日] [月] [周] [年]* 年非必须* *每秒/分/小时/日...都会触发* ?不指定值,只可用于日和周* 1-3表示区间,1、2、3都会触发* 5/15表示递增触发,从5开始,每15秒触发* L表示最后一天或周六*/@Async@Scheduled(cron = "0/10 * * * * ?")//从00开始每十秒public void first(){log.info(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));}@Async@Scheduled(cron = "0 0 2 * * ?")//每天半夜两点public void second(){log.info(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));}}【springboot】功能合集,摩托罗拉k2(摩托罗拉k2图片)
cpugpu芯片开发光刻机
编程语言
10
文件名:【springboot】功能合集,摩托罗拉k2
【springboot】功能合集
目录 全局监听请求:HandlerInterceptor创建拦截器类添加拦截器拦截器类调用Service服务 全局异常处理:@ExceptionHandler统一处理业务异常自定义JsonResult 全局跨域配置:WebMvcConfigurer静态(static)方法中调用接口(Service层)定时任务 全局监听请求:HandlerInterceptor 创建拦截器类 public class RequestInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return HandlerInterceptor.super.preHandle(request, response, handler);}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {...TrackUtil.report(info); // 通过工具类调用服务}} 添加拦截器 @Configurationpublic class WebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry interceptorRegistry) {interceptorRegistry.addInterceptor(...); // 其他拦截器interceptorRegistry.addInterceptor(new RequestInterceptor()); // 添加本拦截器}} 拦截器类调用Service服务
同类推荐
-

【Python CheckiO 题解】First Word (simplified),360ak47
查看 -

【Python 必会技巧】使用 split() 方法对字符串进行切片,摩托罗拉flipout
查看 -

【Python 标准库学习】伪随机数生成库 — random,三星液晶电视报价
查看 -

【Python 零基础入门】常用内置函数 初探,诺基亚8800se
查看 -

【Python-Django】基于TF-IDF算法的医疗推荐系统复现过程,中兴blade a1
查看 -

【Python-批量修改视频分辨率】,优米umi x1
查看 -

【Python-第三方库-pywin32】随笔-基础,pp点点通注册(pp点点通怎么注册)
查看 -

【Python】AttributeError- module lib has no attribute X509_V_FLAG_CB_ISSUER_CHECK,索爱neo
查看 -

【Python】Python Mako模板使用,武尊神
查看
控制面板
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接