您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章将为大家详细讲解有关Spring Boot 中怎么使用DruidDataSource自定义数据源,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
一、添加依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.26</version> </dependency>
二、配置application.yml
spring: datasource: url: jdbc:mysql://127.0.0.1:3306/mxntest?characterEncoding=UTF-8 username: root password: root driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource # 初始化大小,最小,最大 initialSize: 5 minIdle: 5 maxActive: 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数据源配置 */ @Configuration public 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 */ @Bean public 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 */ @Bean public FilterRegistrationBean druidFilterRegistrationBean() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(new WebStatFilter()); Map<String, String> initParams = new HashMap<String, String>(); //设置忽略请求 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") @Primary public 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");
关于Spring Boot 中怎么使用DruidDataSource自定义数据源就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。