springboot整合uid-generator
1、依赖包导入
pom.xml
<dependency>
<groupId>com.baidu.fsg</groupId>
<artifactId>uid-generator</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
2、spring容器bean注册
IdConfig.java
@Configuration
@MapperScan("com.baidu.fsg.uid.worker.dao")
public class IdConfig {
@Bean
public DisposableWorkerIdAssigner disposableWorkerIdAssigner() {
return new DisposableWorkerIdAssigner();
}
@Bean(value = "defaultUidGenerator")
public DefaultUidGenerator initDefaultUid(DisposableWorkerIdAssigner disposableWorkerIdAssigner){
DefaultUidGenerator defaultUidGenerator = new DefaultUidGenerator();
defaultUidGenerator.setWorkerIdAssigner(disposableWorkerIdAssigner);
defaultUidGenerator.setTimeBits(29);
defaultUidGenerator.setWorkerBits(21);
defaultUidGenerator.setSeqBits(13);
defaultUidGenerator.setEpochStr(LocalDate.now().format( DateTimeFormatter.ofPattern("yyyy-MM-dd")));
return defaultUidGenerator;
}
@Bean(value ="cachedUidGenerator")
public CachedUidGenerator initCachedUidGenerator(DisposableWorkerIdAssigner disposableWorkerIdAssigner){
CachedUidGenerator cachedUidGenerator = new CachedUidGenerator();
cachedUidGenerator.setWorkerIdAssigner(disposableWorkerIdAssigner);
return cachedUidGenerator;
}
}
3、SPI扫描-spring.factories
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.enjoy.config.IdConfig
使用
@Autowired
private DefailtUidGenerator defaultUidGenerator;
@Autowired
private CachedUidGenerator cachedUidGenerator;
defaultUidGenerator.getUID();
cachedUidGenerator.getUID();