SpringBoot使用TraceId日志链路追踪 用途:每一次链路,线程维度,添加最终的链路ID traceId。MDC(Mapped Diagnostic Context)诊断上下文映射,是@Slf4j提供的一个支持动态打印日志信息的工具。/*** 日志拦截器*/@Override//可以考虑让客户端传入链路ID,但需保证一定的复杂度唯一性;如果没使用默认UUID自动生成if (!@Override/*** 声明一个线程池*///核心线程数5:线程池创建时候初始化的线程数。
Windows同时配置两个jdk环境变量 或者不删除 这几个文件,这里是默认的jdk,比如我这里默认是java8版本,那么输入java -version还是显示的java8。如果这里默认是java17版本,那么就要反过来。查看版本效果如下图,过程中不用重新编辑环境变量,相信这样可以帮助大家很好的解决多个环境变量切换问题!后续想用17运行就 java17 -jar,使用1.8运行就 java -jar。在系统环境变量中添加两个环境变量,根据使用需求更改JAVA_HOME的值。把jdk17下的java.exe复制一份,名字改为java17.exe。
MySQL某个字段按指定值排序,其他值按创建时间排序 MySQL某个字段按指定值排序,其他值按创建时间排序,我们需要用到FIELD()函数,它是一种对查询结果排序的方法,可以根据指定的字段值顺序进行排序。
java解析请求的字符串参数Content-Disposition: form-data;和&拼接的键值对 获取到http请求的参数,已经被字符串接收了,需求是需要从字符串中解析出来。一种情况是:另一种是:key1=value1&key2=value2&key3=value3,&拼接的键值对。
MyBatis查询两个字段,返回Map,一个字段作为key,一个字段作为value的实现 Map只能接收单条数据。@MapKey指定key,可以接受多条数据,会把查询得到的每一行数据封装成一个Map(key=id,value=Map),然后把所有的Map又以字段名为key,都封装进一个Map或者实体类中。ResultHandle可以实现一个字段作为key,一个字段作为value的效果,但是比较麻烦些。
Java8 Optional常用方法使用场景 Optional 是 Java 8 的新特性,专治空指针异常(NullPointerException, 简称 NPE)问题,它是一个容器类,里面只存储一个元素(这点不同于 Conllection)。为方便用户通过 Lambda 表达式调用 Optional 的方法,部分方法(如:filter、ifPresent、map、orElseGet)需传入函数式接口(如:Predicate、Consumer、Function、Supplier)参数。
Spring中的PathMatcher路径匹配器 PathMatcher是Spring的一个概念模型接口,该接口抽象建模了概念"路径匹配器",一个"路径匹配器"是一个用于路径匹配的工具。位于 Spring-core 包中 util 包下。