diff --git a/README.md b/README.md
index 4319e6b..1bdfdcd 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
-# spring-seq
+# [seq](https://gitea.yanghuanglin.com/yhl452493373/seq) 使用示例
-seq基于spring的使用示例
\ No newline at end of file
+### 具体查看com.yang.springseq.config,其中SeqGeneratorConfig为配置信息,Startup为项目启动后执行的代码
+
+*项目新建时,执行下mvn clean来安装包到本地maven库,如果其他地方已经执行过这个操作,可以不用,而且pom中也可以直接引用,无需安装*
\ No newline at end of file
diff --git a/lib/seq-1.0.0-pom.xml b/lib/seq-1.0.0-pom.xml
new file mode 100644
index 0000000..e7951be
--- /dev/null
+++ b/lib/seq-1.0.0-pom.xml
@@ -0,0 +1,25 @@
+
+
+ 4.0.0
+ com.cdhncy
+ seq
+ 1.0.0
+ seq
+ seq
+
+ 1.8
+
+
+
+ org.springframework
+ spring-jdbc
+ 5.3.15
+
+
+ mysql
+ mysql-connector-java
+ 8.0.28
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..0f7424b
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,110 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.6.3
+
+
+ com.yang
+ spring-seq
+ 0.0.1-SNAPSHOT
+ spring-seq
+ spring-seq
+
+ 1.8
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.2.2
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.cdhncy
+ seq
+ 1.0.0
+
+
+ org.springframework
+ spring-jdbc
+
+
+ mysql
+ mysql-connector-java
+
+
+
+
+
+ org.projectlombok
+ lombok
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-install-plugin
+ 2.5
+
+
+ install-external
+ clean
+
+ install-file
+
+
+ ${project.basedir}/lib/seq-1.0.0.jar
+ ${pom.basedir}/lib/seq-1.0.0-pom.xml
+ ${project.basedir}/lib/seq-1.0.0-sources.jar
+ default
+ com.cdhncy
+ seq
+ 1.0.0
+ jar
+ true
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/yang/springseq/SpringSeqApplication.java b/src/main/java/com/yang/springseq/SpringSeqApplication.java
new file mode 100644
index 0000000..2fffa17
--- /dev/null
+++ b/src/main/java/com/yang/springseq/SpringSeqApplication.java
@@ -0,0 +1,12 @@
+package com.yang.springseq;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringSeqApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringSeqApplication.class, args);
+ }
+}
diff --git a/src/main/java/com/yang/springseq/config/SeqGeneratorConfig.java b/src/main/java/com/yang/springseq/config/SeqGeneratorConfig.java
new file mode 100644
index 0000000..600cc46
--- /dev/null
+++ b/src/main/java/com/yang/springseq/config/SeqGeneratorConfig.java
@@ -0,0 +1,44 @@
+package com.yang.springseq.config;
+
+import com.cdhncy.seq.config.GeneratorConfig;
+import com.cdhncy.seq.config.TableConfig;
+import com.cdhncy.seq.generator.Generator;
+import com.cdhncy.seq.generator.impl.SequencesGenerator;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.transaction.support.TransactionTemplate;
+
+import javax.annotation.Resource;
+
+@Configuration
+public class SeqGeneratorConfig {
+ @Resource
+ private JdbcTemplate jdbcTemplate;
+ @Resource
+ private TransactionTemplate transactionTemplate;
+
+ @Bean
+ public TableConfig tableConfig() {
+ TableConfig tableConfig = new TableConfig();
+// tableConfig.setTable("sequences");
+// tableConfig.setKeyColumn("SEQUENCE_KEY");
+// tableConfig.setTypeColumn("SEQUENCE_TYPE");
+// tableConfig.setSeqColumn("SEQUENCE_NEXT_ID");
+ return tableConfig;
+ }
+
+ @Bean
+ public GeneratorConfig generatorConfig(TableConfig tableConfig) {
+ GeneratorConfig generatorConfig = new GeneratorConfig();
+ generatorConfig.setJdbcTemplate(jdbcTemplate);
+ generatorConfig.setTransactionTemplate(transactionTemplate);
+ generatorConfig.setTableConfig(tableConfig);
+ return generatorConfig;
+ }
+
+ @Bean
+ public Generator generator(GeneratorConfig generatorConfig) {
+ return new SequencesGenerator(generatorConfig);
+ }
+}
diff --git a/src/main/java/com/yang/springseq/config/Startup.java b/src/main/java/com/yang/springseq/config/Startup.java
new file mode 100644
index 0000000..bd0bd8a
--- /dev/null
+++ b/src/main/java/com/yang/springseq/config/Startup.java
@@ -0,0 +1,45 @@
+package com.yang.springseq.config;
+
+import com.cdhncy.seq.generator.Generator;
+import com.cdhncy.seq.po.Sequences;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+@Component
+public class Startup implements ApplicationRunner {
+ @Resource
+ private Generator generator;
+
+ @Override
+ public void run(ApplicationArguments args) {
+ //释放未锁定序列号
+ generator.release();
+
+ Set set = new HashSet<>();
+ //开启多线程进行测试
+ ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(10, 10, 1, TimeUnit.MINUTES, new ArrayBlockingQueue<>(100));
+ for (int i = 0; i < 5; i++) {
+ threadPoolExecutor.execute(() -> {
+ Sequences sequences = generator.generate("SNT", "MISSION");
+ String formattedSeq = generator.format(sequences.getSeq(), 5, "处〔#year#〕10801#seq#");
+ generator.lock(sequences);
+ set.add(formattedSeq);
+ System.out.println(formattedSeq);
+ });
+ }
+ threadPoolExecutor.shutdown();
+ while (true) {
+ if (threadPoolExecutor.isTerminated())
+ break;
+ }
+ System.out.println(set.size());
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
new file mode 100644
index 0000000..00b3164
--- /dev/null
+++ b/src/main/resources/application.yml
@@ -0,0 +1,6 @@
+spring:
+ datasource:
+ url: jdbc:mysql://127.0.0.1:3306/sequence
+ username: root
+ password: root
+ driver-class-name: com.mysql.jdbc.Driver
diff --git a/src/test/java/com/yang/springseq/SpringSeqApplicationTests.java b/src/test/java/com/yang/springseq/SpringSeqApplicationTests.java
new file mode 100644
index 0000000..20279f0
--- /dev/null
+++ b/src/test/java/com/yang/springseq/SpringSeqApplicationTests.java
@@ -0,0 +1,13 @@
+package com.yang.springseq;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class SpringSeqApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}