Skip to content

将百度的 uid-generator 封装成 spring-boot-starter ,使其可以快速集成到 spring-boot 项目中

License

Notifications You must be signed in to change notification settings

mogudian/unique-id-generator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unique-id-generator

将百度的 uid-generator 封装成 spring-boot-starter ,使其可以快速集成到 spring-boot 项目中

使用说明

  • 1、在数据库中建表 参考 src/main/resources/META-INF/WORKER_NODE.sql

  • 2、集成依赖(需先将该项目源码下载并打包)

<dependency>
    <groupId>com.mogudiandian</groupId>
    <artifactId>unique-id-generator</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
  • 3、在启动类上引用注解 @EnableUniqueIDGenerator
@EnableUniqueIDGenerator
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class StartApplication {
    public static void main(String[] args) {
        SpringApplication.run(StartApplication.class, args);
    }
}
  • 4、加入配置[可选,如果是用spring-boot默认的数据源或数据源的beanName为dataSource则不需要这一步]
unique.id.generator.datasource.name=WORKER_NODE表所在库的数据源名称
  • 5、代码中使用
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import com.mogudiandian.unique.id.generator.UniqueIDGenerator;

@Service
public class GeneratorService {

    @Autowired
    private UniqueIDGenerator uniqueIDGenerator;

    public void generate() {
        long id = uniqueIDGenerator.generate();
        // do something...
    }
}

原理

请参考原始仓库 uid-generator中文文档

使用前准备

构建/安装项目

使用以下命令:

mvn clean install

发布项目

修改 pom.xmldistributionManagement 节点,替换为自己在 settings.xml 中 配置的 server 节点, 然后执行 mvn clean deploy

举例:

settings.xml

<servers>
    <server>
        <id>snapshots</id>
        <username>yyy</username>
        <password>yyy</password>
    </server>
    <server>
        <id>releases</id>
        <username>xxx</username>
        <password>xxx</password>
    </server>
</servers>

pom.xml

<distributionManagement>
    <snapshotRepository>
        <id>snapshots</id>
        <url>http://xxx/snapshots</url>
    </snapshotRepository>
    <repository>
        <id>releases</id>
        <url>http://xxx/releases</url>
    </repository>
</distributionManagement>

About

将百度的 uid-generator 封装成 spring-boot-starter ,使其可以快速集成到 spring-boot 项目中

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%