springboot中怎么实现动态数据源
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,springboot中怎么实现动态数据源,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。/** * 作用:保存一个线程安全
千家信息网最后更新 2026年11月01日springboot中怎么实现动态数据源
springboot中怎么实现动态数据源,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
/** * 作用:保存一个线程安全的DatabaseType容器 */public class DatabaseContextHolder { private static final ThreadLocal contextHolder = new ThreadLocal<>(); /** * 当需要操作数据库前,也就是调用mapper.c/r/u/d方法前,可以调用该方法 * 该方法的作用是设置需要连接的数据库 * 由于是线程安全,如果一个新的controller连接请求,在操作数据库前没有显式的调用该方法,则get到的databaseType将会为null * 但这并不影响数据库的操作,因为在数据源的设置中已经设置了默认的数据源 * 当在同一个线程中(也就是本系统controller的同一个请求处理中),如果该方法被调用过 * 则后面的数据库操作,也就是mapper.c/r/u/d的时,get到的都是set好的数据源,除非再次显式的调用这个set方法改变数据源 */ public static void setDatabaseType(String type) { contextHolder.set(type); } /** * 当通过mapper.c/r/u/d方法等操作数据库时 * 该方法会自动被determineCurrentLookupKey方法调用到 * determineCurrentLookupKey是重写了Spring里的AbstractRoutingDataSource类的determineCurrentLookupKey方法 * * @see DynamicDataSource */ public static String getDatabaseType() { return contextHolder.get(); }}import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.core.env.Environment;import javax.sql.DataSource;import java.util.HashMap;import java.util.Map;/** * 数据源工具类 */@Configuration@Slf4jpublic class DataSourceUtil { @Autowired private Environment env; //默认数据源 private DataSource defaultDataSource; //用户自定义数据源 private Map slaveDataSources = new HashMap<>(); /** * @see org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource */ @Bean @Primary public DynamicDataSource dataSource() throws Exception { initDefaultDataSource(); initSlaveDataSources(); Map 看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
数据
数据源
方法
数据库
配置
也就是
线程
动态
安全
作用
更多
帮助
清楚
内容
再次
多个
容器
对此
工具
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
江苏根荣互联网科技
互联网科技财经
新华互联网科技学院
互联网科技开发公司
平安科技 互联网
菲比寻常互联网科技
科技互联网的估值
随着互联网科技发展
互联网科技创新服务
港股科技和互联网
苏州五指互联网络科技有限
深圳育鹏互联网科技有限公司招聘
锡山区互联网智能科技产品供应
互联网金融科技公司的优势
宁波跨境商互联网科技有限公司
广州梦谷互联网科技有限公司领导
互联网时代科技型公司的机会
保山互联网科技靠谱吗
北京瑞云互联网科技有限公司
上海挚品互联网科技有限公司
互联网加科技
广州互联网科技公司
奇酷互联网科技
狮子座互联网科技有限公司
中国科技互联网公司收入
语蝶互联网科技有限公司
苏州铭阳互联网科技有限公司
互联网科技大佬云集
恒生互联网科技趋势