苞米豆-多数据源 4.1.1 发布:适配 spring boot3
dynamic-datasource 是一款极其简单的基于 spring-boot 的多数据源组件,可以方便快速的让你的系统支持多数据源。
https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter
特性
- 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。
- 支持数据库敏感配置信息 加密 ENC()。
- 支持每个数据库独立初始化表结构 schema 和数据库 database。
- 支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。
- 支持 自定义注解 ,需继承 DS (3.2.0+)。
- 提供并简化对 Druid,HikariCp,BeeCp,Dbcp2 的快速集成。
- 提供对 Mybatis-Plus,Quartz,ShardingJdbc,P6sy,Jndi 等组件的集成方案。
- 提供 自定义数据源来源 方案(如全从数据库加载)。
- 提供项目启动后 动态增加移除数据源 方案。
- 提供 Mybatis 环境下的 纯读写分离 方案。
- 提供使用 spel 动态参数 解析数据源方案。内置 spel,session,header,支持自定义。
- 支持 多层数据源嵌套切换 。(ServiceA >>> ServiceB >>> ServiceC)。
- 提供 基于 seata 的分布式事务方案。 附:不支持原生 spring 事务。
- 提供 本地多数据源事务方案。 附:不支持原生 spring 事务。
4.x主要变化:
- 分包:为了更好的适配springboot3同时保留对springboot1.5版本和2.x版本和java7用户的支持。
dynamic-datasource-spring-boot-starter 和dynamic-datasource-spring-boot3-starter。 - 本地事务新增了多数据源传播机制。
- 适配atomikos数据源。(作者还在详细测试-暂不出文档)
- 适配1.2.17+Druid数据源。
所有用法和以前版本没差异,不过分包过程中为了将来脱离spring。 你如果用到了动态添加移除数据源,建议只用DefaultCreator来创建。
版本选择
v3.5.2 这是springboot2最稳定的版本,缺点是对Druid的socketTimeout、connectTimeout不支持,不支持Druid1.2.17+版本。
v3.6.1 对Druid的socketTimeout、connectTimeout支持,不支持Druid1.2.17+版本。对springboot3提供了支持,不过支持没有v4.x版本干净,导致如果用到动态解析会有问题如@DS("header.xxx")。 如果没有动态解析需求这个版本其实也可以。
v4.1.1 这个是当前最稳定的版本,兼容springboot2和springboot3。不过还没有大规模用户使用
升级建议
如果当前版本用的好好的,后续也没有需要的特性建议不升级。
如果你对Druid最新版必须更新你只有升级到4.x稳定版。
v4.1.1 当前4.x最稳定版本
- 修复Druid加密失败。
v4.1.0
- fix ArrayStoreException during parsing annotations by@itinychengin#519
- fix:NoClassDefFoundError of TransactionFactory by@ZPZP1in#521
- fix: NPE when add datasources from provider. by@darknesstmin#525
v4.0.0
- 新增多数据源事务传播机制 by@zhaohaohin#406
- Migrating from Jakarta EE 9 to Jakarta EE 10 by@linghengqianin#474
- feat:增加适配atomikos数据源,支持同一个事务下多次切换数据源 by@ZhiFengJiain#481
- feat:增加多数据源事务传播属性NESTED by @zpbaba in#483
- feat: 支持Druid DataSource timeBetweenConnectErrorMillis Config by@xuwenping123in#489
- fix:fix log output information error by @zpbaba in#501
- fix:fix UUID generate blocked by @zpbaba in#507
- 修复SpringBoot 自动装配路径错误 by@jidaojiuyouin#510

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
低代码微服务组合 Bee+SpringBoot,解决缓存雪崩问题,可控制 Sharding 执行线程池大小
bee-spring-bootV2.1.7 (LTS 版 2023-07) Bee 2.1.7 解决缓存雪崩问题, 完善的 Sharding 分片功能,完善的 MongoDB ORM 功能。 Bee2.1.7整合Spring-boot2.7.12 Spring Cloud 微服务使用数据库更方便:Bee + Spring Boot; 轻松支持多数据源,Sharding,Mongodb. 更快的开发 Spring Cloud 微服务的新组合,Bee 整合 Spring Boot, 让你瞬间拥有两样快速开发利器! Hibernate/MyBatis+ plus +Sharding JDBC + Jpa+ Spring data+ GraphQL+ App ORM (Android, 鸿蒙)=Bee 要整合一堆的工具,还不如只用一个小巧又功能强大的工具。犹如 JAVA 界的数据源连接池 Hikari, 文件虽小,功能却不赖! ORM BeeSharding 分库分表就是那么简单,对开发透明,不影响业务,简单易用,文件小,性能好;支持 Mongodb,支持JDBC,还支持Android 和 ...
- 下一篇
Wow 2.3.2 发布,让领域驱动设计变得触手可得
基于 DDD、EventSourcing 的现代响应式 CQRS 架构微服务开发框架 领域驱动|事件驱动|测试驱动|声明式设计|响应式编程|命令查询职责分离|事件源 更新内容 🎉 🎉 🎉 全面支持OpenAPI 3 特性: 全面支持OpenAPI 3 特性: 新增@CommandRoute.HeaderVariable支持从请求头提取参数注入命令体 特性: 新增HiddenVariableConverter支持隐藏命令体中的路由变量 特性: 新增CommandRoute.Method支持自定义命令路由Method 特性: 新增ScanAggregateHandlerFunction支持扫描状态聚合API 依赖: 升级gradle版本v8.2.1 依赖: 升级swagger-core版本v2.2.15 特性: 新增IdsQueryAggregateHandlerFunction支持根据Ids查询状态聚合 特性: 新增RouteHandlerFunctionRegistrar适配wow-openapi 架构图 事件源 可观测性 Spring WebFlux 集成 自动注册命令路由处...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker安装Oracle12C,快速搭建Oracle学习环境