hutool-雪花算法 id 生成器
设置工作机器ID(workerId)和数据中心ID(datacenterId),这两个参数用于确保在分布式环境中生成的ID是唯一的。
·
配置 workId 和 datacenterId
设置工作机器ID(workerId)和数据中心ID(datacenterId),这两个参数用于确保在分布式环境中生成的ID是唯一的。使用配置 yaml 文件的方式获取,配置方式参考:https://blog.csdn.net/qq_35201802/article/details/143727005
my-app:
snowflake:
workerId: 1
datacenterId: 1
初始化雪花算法生成器
package com.shore.my_spring_demo.web.config;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.IdUtil;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource;
@Configuration
public class IdGeneratorConfig {
@Resource
private CustomSnowflakeConfig customSnowflakeConfig;
@Bean
public Snowflake snowflakeIdGenerator() {
return IdUtil.getSnowflake(customSnowflakeConfig.getWorkerId(), customSnowflakeConfig.getDatacenterId());
}
}
生成唯一 id
在服务层或控制器层中,注入Snowflake实例,并调用它的nextId()方法来生成唯一ID。
package com.shore.my_spring_demo.service.id.impl;
import cn.hutool.core.lang.Snowflake;
import com.shore.my_spring_demo.service.id.IdService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class IdServiceImpl implements IdService {
@Resource
private Snowflake snowflake;
@Override
public Long generateId() {
return snowflake.nextId();
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)