Spring Boot 自定义数据源DruidDataSource代码
更新时间:2019年10月23日 11:18:00 投稿:yaominghui
这篇文章主要介绍了Spring Boot 自定义数据源DruidDataSource代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
这篇文章主要介绍了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");
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解
- 详解spring cloud config实现datasource的热部署
- 浅谈利用Spring的AbstractRoutingDataSource解决多数据源的问题
- java 自己实现DataSource实现实例
- 详解利用Spring的AbstractRoutingDataSource解决多数据源的问题
- Spring(AbstractRoutingDataSource)实现动态数据源切换示例
- 使用Spring的AbstractRoutingDataSource实现多数据源切换示例
- 如何在MyBatis中实现DataSource
相关文章
mybatis-plus update更新操作的三种方式(小结)
本文主要介绍了mybatis-plus update更新操作的三种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-10-10Java单元测试Powermockito和Mockito使用总结
公司单元测试框架选用了Junit 4.12,Mock框架选用了Mockito和PowerMock,本文主要介绍了Java单元测试Powermockito和Mockito使用总结,感兴趣的可以了解一下2021-09-09java 使用idea将工程打成jar并创建成exe文件类型执行的方法详解
这篇文章主要介绍了java 使用idea将工程打成jar并创建成exe文件类型执行,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2020-09-09springBoot+dubbo+zookeeper实现分布式开发应用的项目实践
本文主要介绍了springBoot+dubbo+zookeeper实现分布式开发应用的项目实践,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03
最新评论