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会根据配置自动初始化并管理连接池,当应用程序需要连接时,可以从池中获取;使用完毕后,连接会被返回到池中,以便后续使用。这种管理模式既提高了程序运行效率,也降低了数据库的压力。 通过...
在这个"Spring Boot druid 以及相关sql、Spring监控配置demo"中,我们将探讨如何在Spring Boot项目中集成Druid数据源,以及如何配置SQL监控和Spring的监控功能。 首先,让我们了解Druid数据源的核心特性: 1. **高...
3. **连接池配置**:Druid支持多种连接池配置,如最大连接数、最小连接数、初始化连接数、超时时间等,可以根据实际业务需求进行灵活调整。 4. **智能感知数据库类型**:Druid能自动识别并适应不同的数据库类型,如...
Spring Boot 配置 Druid 连接池的完整步骤 Spring Boot 是一个基于 Java 的开源框架,用于构建微服务架构的应用程序。 Druid 是一个功能强大且高效的数据库连接池,由阿里巴巴开发,已经在生产环境中广泛应用。 ...
Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...
2. **配置Druid**: 在Spring Boot项目中,可以在application.properties或application.yml文件中配置Druid连接池的相关属性,例如: ```properties spring.datasource.type=...
本知识点将围绕使用Spring AOP和Druid连接池来实现这一目标进行详细说明。 首先,要实现多数据源动态切换,我们必须了解以下几个关键技术点: 1. **Spring AOP(面向切面编程)**:AOP是Spring框架的核心特性之一...
1. **添加依赖**:在Spring Boot的`pom.xml`文件中,我们需要添加Spring Boot的`spring-boot-starter-web`、`spring-boot-starter-jdbc`、MySQL驱动、MyBatis核心库和Druid连接池的依赖。 2. **配置MySQL**:在`...
**配置Druid连接池的主要步骤如下:** 1. **添加依赖**: 在项目中引入`druid-1.0.15.jar`这个jar包是配置Druid的第一步。这个版本的Druid包含了所有必要的类和库,支持连接池的初始化和运行。在Maven项目中,可以...
Spring Boot 使用 Druid 连接池的示例代码 Spring Boot 是 Java 语言中...本文通过示例代码展示了如何在 Spring Boot 项目中使用 Druid 连接池来管理数据库连接,并对 Druid 连接池的特性和配置信息进行了详细的介绍。
Spring Boot下Druid连接池的使用配置分析 Spring Boot是一个基于Java的开源框架,提供了许多简洁、灵活的特性,而Druid是一个由阿里系开源的JDBC组件,提供了高效、功能强大的数据库连接池和监控功能。在本文中,...
Druid连接池是阿里巴巴开源的一款高性能、高质量的数据库连接池组件,它在Java世界里被誉为“神器”,被广泛应用在各种企业级项目中。本压缩包"druid连接池相关jar包.zip"包含的是Druid 1.0.9版本的jar包,这个版本...
"druid-spring-boot-starter"项目就是为了解决在Spring Boot项目中集成Druid连接池以及其监控功能而生。它提供了一种自动化配置的方式,使得开发者只需要在项目的依赖中加入这个启动器,就可以完成Druid连接池的配置...
Spring Boot集成Druid数据库连接池 在本文中,我们将学习如何将Druid数据库连接池集成到Spring Boot项目中。Druid数据库连接池是阿里巴巴开源的数据库连接池,号称是Java语言中最好的数据库连接池,是为监控而生的...
在Spring Boot中,常见的连接池有HikariCP、Druid和Tomcat JDBC等。配置多个连接池意味着可以根据不同的业务需求,为不同的数据源设置不同的连接池,例如,对于读写频繁的操作可以配置高性能的连接池,而对于低频...
接下来需要在Spring Boot的配置文件(如`application.properties`或`application.yml`)中配置Druid连接池的相关参数: ```properties spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring....
在本篇【从零开始学Spring Boot】系列中,我们将探讨如何在Spring Boot项目中集成并配置Druid数据源以及其监控功能。Druid是一个强大的数据库连接池,它提供了丰富的监控、扩展性以及性能优化特性。Spring Boot简化...
在Spring Boot中,我们可以轻松集成各种数据库连接池,如HikariCP、Tomcat JDBC Pool和Druid。 Druid是一个功能强大的数据库连接池,提供了监控、SQL解析、拦截器等功能。在多数据源配置中,Druid可以作为一个高效...
在 application.properties 或 application.yml 文件中添加 Druid 连接池配置: ```properties app.datasource.cbssxin.type=com.alibaba.druid.pool.DruidDataSource app.datasource.cbssxin.url=jdbc:t4jdbc:///...
5. **测试代码**:创建`druid-test`包,编写测试类`DruidTest`,使用`@Autowired`注入DataSource,并进行数据库操作测试,验证Druid连接池的功能。 【Druid核心特性】 1. **性能优异**:Druid提供了连接池的性能...