`

spring boot druid连接池的配置

 
阅读更多
pom.xml文件配置
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.18</version>
        </dependency>


DruidConfig 文件摄入配置
import java.sql.SQLException;
import javax.servlet.Filter;
import javax.servlet.Servlet;
import javax.sql.DataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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 com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;

/**
* ClassName:DruidConfig <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date:     2018年9月28日 上午10:27:52 <br/>
* @author   tanli45
* @version 
* @since    JDK 1.8
* @see
*/
/**
* ClassName: DruidConfig <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON(可选). <br/>
* date: 2018年9月28日 上午10:27:52 <br/>
*
* @author tanli45
* @version
* @since JDK 1.8
*/
@Configuration
public class DruidConfig {
 
  private Logger logger = LoggerFactory.getLogger(getClass());
 
 
  @Value("${spring.datasource.url}")
  private String dbUrl;
 
  @Value("${spring.datasource.username}")
  private String username;
 
  @Value("${spring.datasource.password}")
  private String password;
 
  @Value("${spring.datasource.driver-class-name}")
  private String driverClassName;
 
  @Value("${spring.datasource.initialSize}")
  private int initialSize;
 
  @Value("${spring.datasource.minIdle}")
  private int minIdle;
 
  @Value("${spring.datasource.maxActive}")
  private int maxActive;
 
  @Value("${spring.datasource.maxWait}")
  private int maxWait;
 
  @Value("${spring.datasource.timeBetweenEvictionRunsMillis}")
  private int timeBetweenEvictionRunsMillis;
 
  @Value("${spring.datasource.minEvictableIdleTimeMillis}")
  private int minEvictableIdleTimeMillis;
 
  @Value("${spring.datasource.validationQuery}")
  private String validationQuery;
 
  @Value("${spring.datasource.testWhileIdle}")
  private boolean testWhileIdle;
 
  @Value("${spring.datasource.testOnBorrow}")
  private boolean testOnBorrow;
 
  @Value("${spring.datasource.testOnReturn}")
  private boolean testOnReturn;
 
  @Value("${spring.datasource.poolPreparedStatements}")
  private boolean poolPreparedStatements;
 
  @Value("${spring.datasource.filters}")
  private String filters;
 
  @Value("${spring.datasource.loginUsername}")
  private String loginUsername;
 
  @Value("${spring.datasource.loginPassword}")
  private String loginPassword;
 
  @SuppressWarnings({"rawtypes", "unchecked"})
  @Bean
  public ServletRegistrationBean<Servlet> druidServlet() {
      ServletRegistrationBean reg = new ServletRegistrationBean();
      reg.setServlet(new StatViewServlet());
      reg.addUrlMappings("/druid/*");
      reg.addInitParameter("loginUsername",loginUsername==""?"druid":loginUsername);
      reg.addInitParameter("loginPassword", loginPassword);
      return reg;
  }
  @SuppressWarnings({"rawtypes", "unchecked"})
  @Bean
  public FilterRegistrationBean<Filter> filterRegistrationBean() {
      FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
      filterRegistrationBean.setFilter(new WebStatFilter());
      filterRegistrationBean.addUrlPatterns("/*");
      filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
      filterRegistrationBean.addInitParameter("profileEnable", "true");
      filterRegistrationBean.addInitParameter("principalCookieName", "USER_COOKIE");
      filterRegistrationBean.addInitParameter("principalSessionName", "USER_SESSION");
      return filterRegistrationBean;
  }
 
  @Bean
  @Primary
  public DataSource druidDataSource(){ 
      DruidDataSource datasource = new DruidDataSource(); 
      datasource.setUrl(this.dbUrl); 
      datasource.setUsername(username); 
      datasource.setPassword(password); 
      datasource.setDriverClassName(driverClassName); 
      datasource.setInitialSize(initialSize); 
      datasource.setMinIdle(minIdle); 
      datasource.setMaxActive(maxActive); 
      datasource.setMaxWait(maxWait); 
      datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); 
      datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); 
      datasource.setValidationQuery(validationQuery); 
      datasource.setTestWhileIdle(testWhileIdle); 
      datasource.setTestOnBorrow(testOnBorrow); 
      datasource.setTestOnReturn(testOnReturn); 
      datasource.setPoolPreparedStatements(poolPreparedStatements); 
      try { 
          datasource.setFilters(filters); 
      } catch (SQLException e) { 
          logger.error("druid configuration initialization filter", e); 
      } 
      return datasource; 
  }
 


application.yml  文件配置
datasource:  
     name : ems
     url : jdbc:mysql://localhost:3306/sit?useUnicode=true&characterEncoding=utf-8&useSSL=false
     username : preview
     password : preview
     type : com.alibaba.druid.pool.DruidDataSource
     driver-class-name : com.mysql.jdbc.Driver
     filters : stat
     maxActive : 20
     initialSize : 1
     maxWait : 60000
     minIdle : 1
     timeBetweenEvictionRunsMillis : 60000
     minEvictableIdleTimeMillis : 300000
     validationQuery : select 'x'
     testWhileIdle : true
     testOnBorrow : false
     testOnReturn : false
     poolPreparedStatements : true
     maxOpenPreparedStatements : 20
     loginPassword : '123456'
     loginUsername : ''


查看druid的监控信息
http://地址:端口/druid/weburi.html
 
配置的账号密码是:loginUsername,loginPassword







  • 大小: 55.2 KB
分享到:
评论

相关推荐

    使用Druid数据连接池连接PostgreSQL简单例子

    在这个过程中,Druid会根据配置自动初始化并管理连接池,当应用程序需要连接时,可以从池中获取;使用完毕后,连接会被返回到池中,以便后续使用。这种管理模式既提高了程序运行效率,也降低了数据库的压力。 通过...

    Spring Boot druid 以及相关sql、Spring监控配置demo

    在这个"Spring Boot druid 以及相关sql、Spring监控配置demo"中,我们将探讨如何在Spring Boot项目中集成Druid数据源,以及如何配置SQL监控和Spring的监控功能。 首先,让我们了解Druid数据源的核心特性: 1. **高...

    druid连接池

    3. **连接池配置**:Druid支持多种连接池配置,如最大连接数、最小连接数、初始化连接数、超时时间等,可以根据实际业务需求进行灵活调整。 4. **智能感知数据库类型**:Druid能自动识别并适应不同的数据库类型,如...

    spring boot配置druid连接池的完整步骤

    Spring Boot 配置 Druid 连接池的完整步骤 Spring Boot 是一个基于 Java 的开源框架,用于构建微服务架构的应用程序。 Druid 是一个功能强大且高效的数据库连接池,由阿里巴巴开发,已经在生产环境中广泛应用。 ...

    访问SQLServer - springboot自定义DBUtil(druid连接池)操作SQLServer数据库

    Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...

    阿里Druid连接池技术需要的jar包

    2. **配置Druid**: 在Spring Boot项目中,可以在application.properties或application.yml文件中配置Druid连接池的相关属性,例如: ```properties spring.datasource.type=...

    springboot-AOP实现多数据源动态切换(Druid连接池)

    本知识点将围绕使用Spring AOP和Druid连接池来实现这一目标进行详细说明。 首先,要实现多数据源动态切换,我们必须了解以下几个关键技术点: 1. **Spring AOP(面向切面编程)**:AOP是Spring框架的核心特性之一...

    spring-boot_mysql_mybatis_druid

    1. **添加依赖**:在Spring Boot的`pom.xml`文件中,我们需要添加Spring Boot的`spring-boot-starter-web`、`spring-boot-starter-jdbc`、MySQL驱动、MyBatis核心库和Druid连接池的依赖。 2. **配置MySQL**:在`...

    配置Druid连接池需要的jar包-druid-1.0.15.jar

    **配置Druid连接池的主要步骤如下:** 1. **添加依赖**: 在项目中引入`druid-1.0.15.jar`这个jar包是配置Druid的第一步。这个版本的Druid包含了所有必要的类和库,支持连接池的初始化和运行。在Maven项目中,可以...

    Spring Boot使用Druid连接池的示例代码

    Spring Boot 使用 Druid 连接池的示例代码 Spring Boot 是 Java 语言中...本文通过示例代码展示了如何在 Spring Boot 项目中使用 Druid 连接池来管理数据库连接,并对 Druid 连接池的特性和配置信息进行了详细的介绍。

    详解Spring Boot下Druid连接池的使用配置分析

    Spring Boot下Druid连接池的使用配置分析 Spring Boot是一个基于Java的开源框架,提供了许多简洁、灵活的特性,而Druid是一个由阿里系开源的JDBC组件,提供了高效、功能强大的数据库连接池和监控功能。在本文中,...

    druid连接池相关jar包.zip

    Druid连接池是阿里巴巴开源的一款高性能、高质量的数据库连接池组件,它在Java世界里被誉为“神器”,被广泛应用在各种企业级项目中。本压缩包"druid连接池相关jar包.zip"包含的是Druid 1.0.9版本的jar包,这个版本...

    用于在Spring_Boot项目中轻松集成Druid数据库连接池和监控_druid-spring

    "druid-spring-boot-starter"项目就是为了解决在Spring Boot项目中集成Druid连接池以及其监控功能而生。它提供了一种自动化配置的方式,使得开发者只需要在项目的依赖中加入这个启动器,就可以完成Druid连接池的配置...

    Spring Boot集成Druid数据库连接池

    Spring Boot集成Druid数据库连接池 在本文中,我们将学习如何将Druid数据库连接池集成到Spring Boot项目中。Druid数据库连接池是阿里巴巴开源的数据库连接池,号称是Java语言中最好的数据库连接池,是为监控而生的...

    Springboot多连接池+websocket

    在Spring Boot中,常见的连接池有HikariCP、Druid和Tomcat JDBC等。配置多个连接池意味着可以根据不同的业务需求,为不同的数据源设置不同的连接池,例如,对于读写频繁的操作可以配置高性能的连接池,而对于低频...

    Spring Boot集成Druid

    接下来需要在Spring Boot的配置文件(如`application.properties`或`application.yml`)中配置Druid连接池的相关参数: ```properties spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring....

    15. Spring Boot使用Druid和监控配置【从零开始学Spring Boot】

    在本篇【从零开始学Spring Boot】系列中,我们将探讨如何在Spring Boot项目中集成并配置Druid数据源以及其监控功能。Druid是一个强大的数据库连接池,它提供了丰富的监控、扩展性以及性能优化特性。Spring Boot简化...

    Spring Boot + Druid + Mybatis + Atomikos 配置多数据源 并支持分布式事务

    在Spring Boot中,我们可以轻松集成各种数据库连接池,如HikariCP、Tomcat JDBC Pool和Druid。 Druid是一个功能强大的数据库连接池,提供了监控、SQL解析、拦截器等功能。在多数据源配置中,Druid可以作为一个高效...

    SpringBoot2.0整合Druid连接池详细步骤.docx

    在 application.properties 或 application.yml 文件中添加 Druid 连接池配置: ```properties app.datasource.cbssxin.type=com.alibaba.druid.pool.DruidDataSource app.datasource.cbssxin.url=jdbc:t4jdbc:///...

    参照阿里druid整理druid-spring-boot-starter的demo

    5. **测试代码**:创建`druid-test`包,编写测试类`DruidTest`,使用`@Autowired`注入DataSource,并进行数据库操作测试,验证Druid连接池的功能。 【Druid核心特性】 1. **性能优异**:Druid提供了连接池的性能...

Global site tag (gtag.js) - Google Analytics