JWTUtil 工具类 (hutool + Jackson 实现)
public class JWTUtil {
private static final String secret = "ewuodsjlugrejoilks";
/**
* 获取JWT token
* @param payload 保存到p
JWT简要介绍(含验证signature方式)
今天在做毕业设计的登录功能,正好复习一下JWT。出于好奇,验证了一下signature与手动生成的是否一致。 1. JWT数据结构 JWT 的三个部分依次如下。 Header(头部) Payload(负载) Signature(签名) 写成一行: Header.Payload.Signature
Mybatis-Plus代码生成器(Velocity的使用未解决)
官方配置介绍:代码生成器 模板: pom.xml <dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1
集合学习(四):Collections工具类
方法 描述 addAll(Collection<? super T> c, T... elements) 向集合中添加多个元素 sort(List<T> list) 对列表进行自然顺序排序(需要元素实现 Comparable 接口) sort(List<T> list, Comparator<? s
集合学习(三):Map双列集合
1. Map接口常用方法 方法 描述 put(K key, V value) 添加或更新键值对 putAll(Map<? extends K, ? extends V> m) 将指定映射中的所有键值对复制到当前映射中 get(Object key) 获取指定键对应的值 containsKey(Obj
集合学习(二):Collection单列集合
1. Collection接口方法的使用 以ArrayList为例:Collection<String> collection = new ArrayList<>(); 方法 描述 add(E e) 向集合中添加元素 addAll(Collection<? extends E> c) 将指定集合中的
多线程学习(五):Callable与FutureTask的简单实现
1. LazykingCallable public interface LazykingCallable<V> {
V call();
}
2. LazykingFutureTask public class LazykingFutureTask<V> implements Ru
多线程学习(四):Lock锁与线程优先级
1. Lock锁的基本用法 创建Lock实例 Lock lock = new ReentrantLock(); 使用lock()方法获取锁 使用unLock()方法释放锁 通常,一般unLock()方法会被放在finally块中,以保证在异常情况下lock锁被正常释放, private final