首页 > 编程语言 >封装一个生成唯一ID算法的工具类

封装一个生成唯一ID算法的工具类

时间:2024-04-06 15:31:04浏览次数:16  
标签:封装 IdGen public return 算法 shiro import ID SecureRandom

导入maven依赖:

 <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>1.6.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.6.0</version>
        </dependency>

工具类:

import java.io.Serializable;
import org.apache.shiro.session.Session;
import java.security.SecureRandom;
import java.util.UUID;

/**
 * @Description:
 * @Author nc
 * @Date 2021/08/25 20:08
 */
public class IdGen {
    private static SecureRandom random = new SecureRandom();

    /**
     * 封装JDK自带的UUID, 通过Random数字生成, 中间无-分割.
     */
    public static String uuid() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }

    /**
     * 使用SecureRandom随机生成Long.
     */
    public static long randomLong() {
        return Math.abs(random.nextLong());
    }

    /**
     * Activiti ID 生成
     */
    public String getNextId() {
        return IdGen.uuid();
    }

    public Serializable generateId(Session session) {
        return IdGen.uuid();
    }

}

1

标签:封装,IdGen,public,return,算法,shiro,import,ID,SecureRandom
From: https://blog.csdn.net/qq_55994562/article/details/137429099

相关文章

  • AndroidStudio学习记录(3):操纵按钮控件Botton、ImageBotton
    按钮控件是平时看到的,常用Botton和ImageButton控件,一般操纵按钮来实现相应的命令,比如在手机上的查找登录注册,以及点击命令等等。ImaBotton与Button的区别在于它没有文本,只有图片,需要制定图片路径在activity_main.xml文件中,它们是这样使用的:<?xmlversion="1.0"encoding=......
  • 使用Android完成案例教学
    目录题目:完成在Android平台下2个玩家分别利用2个手机连接在同一局域网下通过滑动摇杆分别使红飞机和黄飞机移动的开发。(全代码解析)题目:完成在Android平台下2个玩家分别利用2个手机连接在同一局域网下通过滑动摇杆分别使红飞机和黄飞机移动的开发。(全代码解析)用一个真机......
  • 【三十五】【算法分析与设计】综合练习(2),22。 括号生成,77。 组合,494。 目标和,模拟树递
    22.括号生成数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n=1输出:["()"]提示:1<=n<=8【三十五】【算法分析与设计】综合练习(2),......
  • 代码随想录算法训练营DAY18|C++二叉树Part.5|513.找树左下角的值、112. 路径总和、113
    文章目录513.找树左下角的值层序-迭代遍历前中后序-递归遍历思路伪代码CPP代码112.路径总和、113.路径总和II112.路径总和思路伪代码实现CPP代码113.路径总和II思路伪代码实现CPP代码实现106\105.从中(前)序与后(中)序遍历序列构造二叉树106.从中序与后序遍历序列......
  • (数据结构——比特)算法的时间复杂度和空间复杂度
    目录1.算法效率如何衡量一个算法的好坏算法的复杂度复杂度在校招中的考察2.时间复杂度时间复杂度的概念 请计算一下Func1中++count语句总共执行了多少次?Func1执行的基本操作次数: 大O的渐进表示法推导大O阶方法:使用大O的渐进表示法以后,Func1的时间复杂度为: 另......
  • 【Mathematical Model】基于Python实现随机森林回归算法&特征重要性评估&线性拟合
    ​    前段时间在做遥感的定量反演,所以研究了一下回归算法,由于之前发的几篇博文都是定义好基础方程进行拟合的,不太满足我的需求。所以研究了一下随机森林回归的算法,之前使用随机森林都是做分类,这次做了回归算法也算是补全了RF算法的空缺了。今天抽空给大家分享一下使用P......
  • acwing 算法基础课(第三章 完整版)
     三、搜索与图论(一).DFS简介:通过系统的模拟栈实现,“走头无路”才往回退,不具最短性。回溯是该算法的关键。1.全排列问题(AcWing842.排列数字)(1)算法思想:       递归函数:假设求n=3时的全排列,函数入口为位置u(u从path数组第0号位置开始,当u为3时说明数组中0,1,2......
  • 最新ChatGPT4.0工具使用教程:GPTs,Midjourney绘画,AI换脸,GPT语音对话,文档分析一站式系统
    一、前言ChatGPT3.5、GPT4.0、相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。然而,GPT-4对普通用户来说都是需要额外付费才可以使用。所以今天小编就整理一个真正可免费的AI工具,可......
  • Fiddler(8)设置网络丢包和延迟
    1、打开Fiddler工具,点击Rules-CustomizeRules 2、打开了一个配置文件,ctrl+F搜索delay,往下找找到设置上行下行延迟的地方3、修改发送延迟和下载延迟的时间,可以修改的大一些,越大延迟越久,修改后保存4、选择Rules-Performance-SimulateModemSpeed,设置生效 然后刷新页面,就......
  • gdb 环境问题:Backtrace stopped: previous frame identical to this frame (corrupt s
    背景虽然才刚进入新环境,但是由于项目交付节点临近,领导主要让我分析、解决以前遗留的问题,保证软件的稳定性。其中有一个问题现象是:片间通信进程(负责SOC和MCU交互的服务)偶现阻塞问题。经过短暂的分析,我怀疑是因为资源竞争导致的死锁问题。针对死锁问题,我认为有两种分析方式......