千家信息网

SpringBoot如何自定义数据源DruidDataSource代码

发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,这篇文章将为大家详细讲解有关SpringBoot如何自定义数据源DruidDataSource代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、添加依赖 com
千家信息网最后更新 2025年11月14日SpringBoot如何自定义数据源DruidDataSource代码

这篇文章将为大家详细讲解有关SpringBoot如何自定义数据源DruidDataSource代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、添加依赖

com.alibaba druid 1.0.26

二、配置application.yml

spring: datasource:url: jdbc:mysql://127.0.0.1:3306/mxntest?characterEncoding=UTF-8username: rootpassword: rootdriver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource# 初始化大小,最小,最大initialSize: 5minIdle: 5maxActive: 50# 配置获取连接等待超时的时间maxWait: 60000

三、Druid数据源配置

package com.example.demo.config;/** * @author 12084 * @create 2018-08-09 11:27 */import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.boot.web.servlet.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import javax.sql.DataSource;import java.sql.SQLException;import java.util.HashMap;import java.util.Map;/** * Druid数据源配置 */@Configurationpublic class DataSourceConfig {private static String dbUrl;private static String username;private static String password;private static String driverClassName;private static int initialSize;private static int minIdle;private static int maxActive;private static int maxWait;/** * 注册DruidServlet * * @return */@Beanpublic ServletRegistrationBean druidServletRegistrationBean() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(); servletRegistrationBean.setServlet(new StatViewServlet()); servletRegistrationBean.addUrlMappings("/druid/*"); //登录查看信息的账号密码. servletRegistrationBean.addInitParameter("loginUsername", "admin"); servletRegistrationBean.addInitParameter("loginPassword", "123456"); return servletRegistrationBean;}/** * 注册DruidFilter拦截 * * @return */@Beanpublic FilterRegistrationBean druidFilterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(new WebStatFilter()); Map initParams = new HashMap(); //设置忽略请求 initParams.put("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"); filterRegistrationBean.setInitParameters(initParams); filterRegistrationBean.addUrlPatterns("/*"); return filterRegistrationBean;}/** * 配置DataSource * @return * @throws SQLException */@Bean(initMethod = "init",destroyMethod = "close")@Primarypublic DataSource dataSource() throws SQLException { DruidDataSource druidDataSource = new DruidDataSource(); druidDataSource.setUsername(username); druidDataSource.setPassword(password); druidDataSource.setUrl(dbUrl); druidDataSource.setFilters("stat,wall"); druidDataSource.setInitialSize(initialSize); druidDataSource.setMinIdle(minIdle); druidDataSource.setMaxActive(maxActive); druidDataSource.setMaxWait(maxWait); druidDataSource.setUseGlobalDataSourceStat(true); druidDataSource.setDriverClassName(driverClassName); return druidDataSource;}@Value("${spring.datasource.url}")public void setDbUrl(String dbUrl) { DataSourceConfig.dbUrl = dbUrl;}@Value("${spring.datasource.username}")public void setUsername(String username) { DataSourceConfig.username = username;}@Value("${spring.datasource.password}")public void setPassword(String password) { DataSourceConfig.password = password;}@Value("${spring.datasource.driver-class-name}")public void setDriverClassName(String driverClassName) { DataSourceConfig.driverClassName = driverClassName;}@Value(value = "${spring.datasource.initialSize}")public void setInitialSize(int initialSize) { DataSourceConfig.initialSize = initialSize;}@Value(value = "${spring.datasource.minIdle}")public void setMinIdle(int minIdle) { DataSourceConfig.minIdle = minIdle;}@Value(value = "${spring.datasource.maxActive}")public void setMaxActive(int maxActive) { DataSourceConfig.maxActive = maxActive;}@Value(value = "${spring.datasource.maxWait}")public void setMaxWait(int maxWait) { DataSourceConfig.maxWait = maxWait;}}

四、http://localhost:8080/druid/index.html 就可以查看,如果配置密码则输入密码

//登录查看信息的账号密码. servletRegistrationBean.addInitParameter("loginUsername", "admin"); servletRegistrationBean.addInitParameter("loginPassword", "123456");

关于"SpringBoot如何自定义数据源DruidDataSource代码"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

配置 数据 数据源 密码 篇文章 代码 信息 更多 账号 登录 不错 实用 最大 最小 内容 大小 文章 时间 知识 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重庆数据库8中好吗 网络技术服务需要交印花税吗 小学网络安全调查问卷 武汉定制化服务器价格是多少 原神国际服服务器选择哪个是亚服 上海飞旗网络技术有限公司北京 网络安全竞赛奖品 网安大队 民营企业网络安全 mysql怎么模拟银行数据库 惠普服务器数据库安装 数据库调度的前驱图 国创科视网络安全审计设备 软件开发创新实践结合 华为服务器自带是什么系统 怎么选中表格中的数据库 网络安全公司的关键业务 数据库md5加密还原 苏邦互联网科技有限公司 在村里管理网络安全的工作叫什么 海南企业软件开发出厂价格 局域网呼叫网管软件开发教程 用c 一个软件开发 网络安全教育人人有责手抄报 阿克塞斯数据库中的表是一个 房山区智能网络技术品质保障 软件开发可以计入在建工程吗 红尾狐卡丁车服务器是什么 如何防止5g网络安全风险 混沌沌与秩序数据库 网络安全溯源教学
0