From 880a71e426da98b21762ea7f18358689e009b39f Mon Sep 17 00:00:00 2001 From: zk_wpw Date: Sun, 31 Aug 2025 09:54:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=E5=A4=9A=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/example-apijson-multipledatasource/pom.xml | 1 - .../ApijsonMultipleDataSourceConfiguration.java | 4 ++-- .../example/apijson/MultipleDataSourceDemoTestIT.java | 6 +++--- .../extension/apjson/orm/SqlConnectProvider.java | 1 + extensions/extension-common/pom.xml | 4 ++++ .../common/spring/jdbc}/DataSourceContextHolder.java | 10 ++++++---- .../common/spring/jdbc}/MultipleDataSource.java | 3 +-- 7 files changed, 17 insertions(+), 12 deletions(-) rename extensions/{extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm => extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc}/DataSourceContextHolder.java (73%) rename {autoconfigure/src/main/java/yunjiao/springboot/autoconfigure/apijson => extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc}/MultipleDataSource.java (73%) diff --git a/examples/example-apijson-multipledatasource/pom.xml b/examples/example-apijson-multipledatasource/pom.xml index 5285fb3..438c203 100644 --- a/examples/example-apijson-multipledatasource/pom.xml +++ b/examples/example-apijson-multipledatasource/pom.xml @@ -32,7 +32,6 @@ org.springframework spring-webflux - test diff --git a/examples/example-apijson-multipledatasource/src/main/java/yunjiao/springboot/example/apijson/ApijsonMultipleDataSourceConfiguration.java b/examples/example-apijson-multipledatasource/src/main/java/yunjiao/springboot/example/apijson/ApijsonMultipleDataSourceConfiguration.java index 014d855..8e2574b 100644 --- a/examples/example-apijson-multipledatasource/src/main/java/yunjiao/springboot/example/apijson/ApijsonMultipleDataSourceConfiguration.java +++ b/examples/example-apijson-multipledatasource/src/main/java/yunjiao/springboot/example/apijson/ApijsonMultipleDataSourceConfiguration.java @@ -9,10 +9,10 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import yunjiao.springboot.autoconfigure.apijson.MultipleDataSource; +import yunjiao.springboot.extension.common.spring.jdbc.MultipleDataSource; import yunjiao.springboot.autoconfigure.apijson.ApijsonSqlProperties; import yunjiao.springboot.example.apijson.fastjson2.CustomFastjson2Creator; -import yunjiao.springboot.extension.apjson.orm.DataSourceContextHolder; +import yunjiao.springboot.extension.common.spring.jdbc.DataSourceContextHolder; import yunjiao.springboot.extension.apjson.util.ApijsonConsts; import javax.sql.DataSource; diff --git a/examples/example-apijson-multipledatasource/src/test/java/yunjiao/springboot/example/apijson/MultipleDataSourceDemoTestIT.java b/examples/example-apijson-multipledatasource/src/test/java/yunjiao/springboot/example/apijson/MultipleDataSourceDemoTestIT.java index cf7236c..88f4831 100644 --- a/examples/example-apijson-multipledatasource/src/test/java/yunjiao/springboot/example/apijson/MultipleDataSourceDemoTestIT.java +++ b/examples/example-apijson-multipledatasource/src/test/java/yunjiao/springboot/example/apijson/MultipleDataSourceDemoTestIT.java @@ -17,14 +17,14 @@ import java.nio.charset.StandardCharsets; * @author yangyunjiao */ public class MultipleDataSourceDemoTestIT { - private WebClient commont = WebClient.builder() + private final WebClient commonClient = WebClient.builder() .baseUrl("http://localhost:8080/api-json/common") .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .build(); @Test void test1() { - String data = commont.post() + String data = commonClient.post() .uri("/get") .contentType(MediaType.APPLICATION_JSON) .bodyValue(readJson("1. 第一个查询.json")) @@ -37,7 +37,7 @@ public class MultipleDataSourceDemoTestIT { @Test void test2() { - String data = commont.post() + String data = commonClient.post() .uri("/get") .contentType(MediaType.APPLICATION_JSON) .bodyValue(readJson("2. 指定数据源查询.json")) diff --git a/extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/SqlConnectProvider.java b/extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/SqlConnectProvider.java index cfb7a7b..301abbe 100644 --- a/extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/SqlConnectProvider.java +++ b/extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/SqlConnectProvider.java @@ -4,6 +4,7 @@ import apijson.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; +import yunjiao.springboot.extension.common.spring.jdbc.DataSourceContextHolder; import javax.sql.DataSource; import java.sql.Connection; diff --git a/extensions/extension-common/pom.xml b/extensions/extension-common/pom.xml index 201b258..09b1dc2 100644 --- a/extensions/extension-common/pom.xml +++ b/extensions/extension-common/pom.xml @@ -23,6 +23,10 @@ org.springframework spring-core + + org.springframework + spring-jdbc + cn.hutool hutool-core diff --git a/extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/DataSourceContextHolder.java b/extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc/DataSourceContextHolder.java similarity index 73% rename from extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/DataSourceContextHolder.java rename to extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc/DataSourceContextHolder.java index d0df3b2..54826e6 100644 --- a/extensions/extension-apijson/src/main/java/yunjiao/springboot/extension/apjson/orm/DataSourceContextHolder.java +++ b/extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc/DataSourceContextHolder.java @@ -1,4 +1,4 @@ -package yunjiao.springboot.extension.apjson.orm; +package yunjiao.springboot.extension.common.spring.jdbc; import org.springframework.util.StringUtils; @@ -13,10 +13,12 @@ public class DataSourceContextHolder { private static final ThreadLocal contextHolder = new ThreadLocal<>(); public static void setDataSourceType(String dsType) { - if(!StringUtils.hasText(dsType) || "null".equals(dsType)) { - dsType = DEFAULT; + if (!StringUtils.hasText(dsType)) { + contextHolder.set(DEFAULT); + } else { + contextHolder.set(dsType); } - contextHolder.set(dsType); + } public static String getDataSourceType() { diff --git a/autoconfigure/src/main/java/yunjiao/springboot/autoconfigure/apijson/MultipleDataSource.java b/extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc/MultipleDataSource.java similarity index 73% rename from autoconfigure/src/main/java/yunjiao/springboot/autoconfigure/apijson/MultipleDataSource.java rename to extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc/MultipleDataSource.java index 8d074a7..88bf7eb 100644 --- a/autoconfigure/src/main/java/yunjiao/springboot/autoconfigure/apijson/MultipleDataSource.java +++ b/extensions/extension-common/src/main/java/yunjiao/springboot/extension/common/spring/jdbc/MultipleDataSource.java @@ -1,7 +1,6 @@ -package yunjiao.springboot.autoconfigure.apijson; +package yunjiao.springboot.extension.common.spring.jdbc; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; -import yunjiao.springboot.extension.apjson.orm.DataSourceContextHolder; /** * 多数据源 -- Gitee From b969868dc91a91dc0a58be7ff057738329748aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E8=BF=90=E4=BA=A4?= <1290308475@qq.com> Date: Sun, 31 Aug 2025 10:39:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?doc:=20github=20pages=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 +----- bin/set-git-user.cmd | 5 +++ bin/sync-github.cmd | 2 +- doc/md/STARTER-APIJSON-FASTJSON2.md | 37 ------------------- doc/md/STARTER-APIJSON-GSON.md | 37 ------------------- doc/md/STARTER-CAPTCHA.md | 23 ------------ doc/md/STARTER-ID.md | 25 ------------- doc/md/STARTER-QUERYDSL-JPA.md | 21 ----------- doc/md/STARTER-QUERYDSL-SQL.md | 21 ----------- {doc => docs}/apijson/apifox.json | 0 {doc => docs}/apijson/postman.json | 0 .../adoc => docs}/chapter/1.introduction.adoc | 0 {doc/adoc => docs}/chapter/2.id.adoc | 0 {doc/adoc => docs}/chapter/3.apijson.adoc | 0 {doc/adoc => docs}/chapter/4.captcha.adoc | 0 {doc/adoc => docs}/chapter/5.querydsl.adoc | 0 {doc/adoc => docs}/index.adoc | 0 pom.xml | 10 ++--- 18 files changed, 13 insertions(+), 179 deletions(-) create mode 100644 bin/set-git-user.cmd delete mode 100644 doc/md/STARTER-APIJSON-FASTJSON2.md delete mode 100644 doc/md/STARTER-APIJSON-GSON.md delete mode 100644 doc/md/STARTER-CAPTCHA.md delete mode 100644 doc/md/STARTER-ID.md delete mode 100644 doc/md/STARTER-QUERYDSL-JPA.md delete mode 100644 doc/md/STARTER-QUERYDSL-SQL.md rename {doc => docs}/apijson/apifox.json (100%) rename {doc => docs}/apijson/postman.json (100%) rename {doc/adoc => docs}/chapter/1.introduction.adoc (100%) rename {doc/adoc => docs}/chapter/2.id.adoc (100%) rename {doc/adoc => docs}/chapter/3.apijson.adoc (100%) rename {doc/adoc => docs}/chapter/4.captcha.adoc (100%) rename {doc/adoc => docs}/chapter/5.querydsl.adoc (100%) rename {doc/adoc => docs}/index.adoc (100%) diff --git a/README.md b/README.md index fa675d3..e2a68bb 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ 基于`Spring Boot`框架,集成其他框架开发的`Starter` +[使用指南](https://yunjiao-source.github.io) + ## 发布版本 | 项目版本 | String Boot 版本 | @@ -86,15 +88,6 @@ mvn install ``` -## 使用指南 - -* starter-apijson-fastjson2 [使用指南](./doc/md/STARTER-APIJSON-FASTJSON2.md) -* starter-apijson-gson [使用指南](./doc/md/STARTER-APIJSON-GSON.md) -* starter-captcha [使用指南](./doc/md/STARTER-CAPTCHA.md) -* starter-id [使用指南](./doc/md/STARTER-ID.md) -* starter-querydsl-jpa [使用指南](./doc/md/STARTER-QUERYDSL-JPA.md) -* starter-querydsl-sql [使用指南](./doc/md/STARTER-QUERYDSL-SQL.md) - ## 参考 * [开发过程中遇到的问题](./FAQ.md) diff --git a/bin/set-git-user.cmd b/bin/set-git-user.cmd new file mode 100644 index 0000000..31f573c --- /dev/null +++ b/bin/set-git-user.cmd @@ -0,0 +1,5 @@ +chcp 65001 +git config user.name "杨运交" +git config user.email "1290308475@qq.com" +git config --local --list +pause \ No newline at end of file diff --git a/bin/sync-github.cmd b/bin/sync-github.cmd index d3af8e4..cc62833 100644 --- a/bin/sync-github.cmd +++ b/bin/sync-github.cmd @@ -1,3 +1,3 @@ -git checkout master +sygit checkout master git pull origin master git push github master \ No newline at end of file diff --git a/doc/md/STARTER-APIJSON-FASTJSON2.md b/doc/md/STARTER-APIJSON-FASTJSON2.md deleted file mode 100644 index 5e64d1c..0000000 --- a/doc/md/STARTER-APIJSON-FASTJSON2.md +++ /dev/null @@ -1,37 +0,0 @@ -# starter-apijson-fastjson2 - -集成`APIJSON`框架的启动器, 使用`apijson-fastjson2`插件 - -* 方便配置。在`application.yml`中配置参数,避免写死在程序中。所有的配置属性参考[application-all.yaml](../../examples/example-apijson-fastjson2/src/main/resources/application-all.yml) -* 支持数据库连接池 -* 提供多个接口,如:CRUD,登录, 登出等 - -详细使用参考示例[example-apijson-fastjson2](../../examples/example-apijson-fastjson2) - -## 使用Maven -在`pom.xml`中添加依赖 -```xml - - io.gitee.yunjiao-source.spring-boot - starter-apijson-fastjson2 - ${version} - -``` - -## 支持的接口 - - -| 接口url | 方法 | 说明 | -|-----------------------|------|--------------------------------------------------| -| common/{method} | POST | 支持GET,HEAD,GETS,HEADS,POST,PUT,DELETE,CRUD等 | -| common/{method}/{tag} | POST | 增删改查统一接口,这个一个接口可替代 7 个万能通用接口,牺牲一些路由解析性能来提升一点开发效率 | -| ext/reload | POST | 重新加载配置 | -| ext/post/verify | POST | 生成验证码 | -| ext/gets/verify | POST | 获取验证码 | -| ext/heads/verify | POST | 校验验证码 | -| ext/login | POST | 用户登录 | -| ext/logout | POST | 退出登录,清空session | -| ext/register | POST | 注册 | -| ext/put/password | POST | 设置密码 | - - diff --git a/doc/md/STARTER-APIJSON-GSON.md b/doc/md/STARTER-APIJSON-GSON.md deleted file mode 100644 index 96f5e76..0000000 --- a/doc/md/STARTER-APIJSON-GSON.md +++ /dev/null @@ -1,37 +0,0 @@ -# starter-apijson-gson - -集成`APIJSON`框架的启动器, 使用`apijson-gson`插件 - -* 方便配置。在`application.yml`中配置参数,避免写死在程序中。所有的配置属性参考[application-all.yaml](../../examples/example-apijson-gson/src/main/resources/application-all.yml) -* 支持数据库连接池 -* 提供多个接口,如:CRUD,登录, 登出等 - -详细使用参考示例[example-apijson-gson](../../examples/example-apijson-gson) - -## 使用Maven -在`pom.xml`中添加依赖 -```xml - - io.gitee.yunjiao-source.spring-boot - starter-apijson-gson - ${version} - -``` - -## 支持的接口 - - -| 接口url | 方法 | 说明 | -|-----------------------|------|--------------------------------------------------| -| common/{method} | POST | 支持GET,HEAD,GETS,HEADS,POST,PUT,DELETE,CRUD等 | -| common/{method}/{tag} | POST | 增删改查统一接口,这个一个接口可替代 7 个万能通用接口,牺牲一些路由解析性能来提升一点开发效率 | -| ext/reload | POST | 重新加载配置 | -| ext/post/verify | POST | 生成验证码 | -| ext/gets/verify | POST | 获取验证码 | -| ext/heads/verify | POST | 校验验证码 | -| ext/login | POST | 用户登录 | -| ext/logout | POST | 退出登录,清空session | -| ext/register | POST | 注册 | -| ext/put/password | POST | 设置密码 | - - diff --git a/doc/md/STARTER-CAPTCHA.md b/doc/md/STARTER-CAPTCHA.md deleted file mode 100644 index 1f6161b..0000000 --- a/doc/md/STARTER-CAPTCHA.md +++ /dev/null @@ -1,23 +0,0 @@ -# start-captcha - -验证码生成启动器,集成`Hutool`,`aj-captcha`等框架 - -* 零配置。无需在yaml中配置参数,框架提供默认值 -* 支持多种验证码,包括:线段干扰验证码,圆圈干扰验证码,扭曲干扰验证码,GIF验证码,滑块拼图验证码,文字点选验证码,旋转拼图验证码 -* 提供丰富的配置参数,支持用户自定义。所有的配置参数参考[application-all.yml](../../examples/example-captcha/src/main/resources/application-all.yml) - -详细使用参考示例[example-captcha](../../examples/example-captcha) - -## 使用Maven - -在`pom.xml`中添加依赖 -```xml - - io.gitee.yunjiao-source.spring-boot - starter-captcha - ${version} - -``` - - - diff --git a/doc/md/STARTER-ID.md b/doc/md/STARTER-ID.md deleted file mode 100644 index 1cecd33..0000000 --- a/doc/md/STARTER-ID.md +++ /dev/null @@ -1,25 +0,0 @@ -## start-id - -ID生成启动器,集成`Hutool`, `Uid-Generator`等框架 - - -* Snowflake: `Hutool`实现的雪花算法。 -* UidGeneratorCached,UidGeneratorDefault:分别包装了`Uid-Generator`框架的`CachedUidGenerator`与`DefaultUidGenerator`,实现雪花算法。包装是因为这样可以方便的注入 - -详细使用参考示例[example-id](../../examples/example-id) - -## 使用Maven - -在`pom.xml`中添加依赖 -```xml - - io.gitee.yunjiao-source.spring-boot - starter-id - ${version} - -``` - - - - - diff --git a/doc/md/STARTER-QUERYDSL-JPA.md b/doc/md/STARTER-QUERYDSL-JPA.md deleted file mode 100644 index ef0706c..0000000 --- a/doc/md/STARTER-QUERYDSL-JPA.md +++ /dev/null @@ -1,21 +0,0 @@ -## start-querydsl-jpa - -集成`QueryDSL JPA`框架的启动器。 - -* `JPAQueryRepositorySupport`仓库类,用户继承此类,集成功能:单个查询,列表查询,查询分页,查询Tuple,统计记录数,更新,删除等。支持数据库事务 -* `QSpecification`接口,用于复杂条件查询,支持:and, or, not等。类似`Spring`框架的`Specification` - - -详细使用参考示例[example-querydsl-jpa](../../examples/example-querydsl-jpa) - -## 使用Maven - -在`pom.xml`中添加依赖 -```xml - - io.gitee.yunjiao-source.spring-boot - starter-querydsl-jpa - ${version} - -``` - diff --git a/doc/md/STARTER-QUERYDSL-SQL.md b/doc/md/STARTER-QUERYDSL-SQL.md deleted file mode 100644 index 43d48d6..0000000 --- a/doc/md/STARTER-QUERYDSL-SQL.md +++ /dev/null @@ -1,21 +0,0 @@ -## start-querydsl-sql - -集成`QueryDSL SQL`框架的启动器。 - -* `SQLQueryRepositorySupport`仓库类,用户继承此类,集成功能:单个查询,列表查询,查询分页,查询Tuple,统计记录数,更新,删除等。支持数据库事务 -* `QSpecification`接口,用于复杂条件查询,支持:and, or, not等。类似`Spring`框架的`Specification` - - -详细使用参考示例[example-querydsl-sql](../../examples/example-querydsl-sql) - -## 使用Maven - -在`pom.xml`中添加依赖 -```xml - - io.gitee.yunjiao-source.spring-boot - starter-querydsl-sql - ${version} - -``` - diff --git a/doc/apijson/apifox.json b/docs/apijson/apifox.json similarity index 100% rename from doc/apijson/apifox.json rename to docs/apijson/apifox.json diff --git a/doc/apijson/postman.json b/docs/apijson/postman.json similarity index 100% rename from doc/apijson/postman.json rename to docs/apijson/postman.json diff --git a/doc/adoc/chapter/1.introduction.adoc b/docs/chapter/1.introduction.adoc similarity index 100% rename from doc/adoc/chapter/1.introduction.adoc rename to docs/chapter/1.introduction.adoc diff --git a/doc/adoc/chapter/2.id.adoc b/docs/chapter/2.id.adoc similarity index 100% rename from doc/adoc/chapter/2.id.adoc rename to docs/chapter/2.id.adoc diff --git a/doc/adoc/chapter/3.apijson.adoc b/docs/chapter/3.apijson.adoc similarity index 100% rename from doc/adoc/chapter/3.apijson.adoc rename to docs/chapter/3.apijson.adoc diff --git a/doc/adoc/chapter/4.captcha.adoc b/docs/chapter/4.captcha.adoc similarity index 100% rename from doc/adoc/chapter/4.captcha.adoc rename to docs/chapter/4.captcha.adoc diff --git a/doc/adoc/chapter/5.querydsl.adoc b/docs/chapter/5.querydsl.adoc similarity index 100% rename from doc/adoc/chapter/5.querydsl.adoc rename to docs/chapter/5.querydsl.adoc diff --git a/doc/adoc/index.adoc b/docs/index.adoc similarity index 100% rename from doc/adoc/index.adoc rename to docs/index.adoc diff --git a/pom.xml b/pom.xml index e61c7e1..a700e74 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ 1.7.2 3.2.0 - yangyunjiao + 杨运交 1290308475@qq.com @@ -114,8 +114,8 @@ html - doc/adoc - doc/build/html + docs + docs/build/html @@ -126,8 +126,8 @@ pdf - doc/adoc - doc/build/pdf + docs + docs/build/pdf -- Gitee