spring的druid是什么
时间: 2023-04-02 09:01:16 浏览: 79
Druid是一种开源的数据库连接池,它支持MySQL、Oracle、PostgreSQL等多种数据库,并且提供了监控、统计和防御SQL注入等功能。Spring的Druid是在Druid基础上进行了封装,使得在Spring框架中使用Druid更加方便。
相关问题
spring boot druid mongodb
Spring Boot是一个用于构建Java应用程序的框架,它能够简化开发过程,提高生产力。它通过提供一系列的开箱即用的特性和配置,允许我们快速构建可运行的、独立的Spring应用程序。
Druid是一个开源的Java数据库连接池框架,它提供了一组可扩展的API,用于管理和监控数据库连接。Druid具有优秀的性能和丰富的扩展功能,可以有效地管理大量的数据库连接。
MongoDB是一个开源的文档数据库,它使用JSON风格的文档格式存储数据。MongoDB具有高可用性、可扩展性和灵活的数据模型,适用于许多不同类型的应用程序。
Spring Boot与Druid和MongoDB的结合可以带来一些好处。首先,Druid可以作为Spring Boot应用程序的数据库连接池,提供高性能和高可用性的数据库连接管理。它可以监控和管理数据库连接的使用情况,避免连接泄漏和过多的连接创建。
其次,Spring Boot与MongoDB的集成使得开发人员能够轻松地使用MongoDB作为应用程序的数据存储。Spring Boot提供了与MongoDB的无缝集成,简化了数据访问的配置和操作。
最后,Spring Boot、Druid和MongoDB的集成可以帮助开发人员更好地应对大规模的数据存储和处理需求。Druid的连接池管理功能可以提高应用程序的性能和可靠性,而MongoDB的扩展性和灵活性可以满足不同类型的数据存储需求。
综上所述,Spring Boot、Druid和MongoDB的结合可以提供高性能、高可用性和灵活的数据存储和管理解决方案,适用于各种类型的Java应用程序开发。
spring中druid用法
在Spring中使用Druid连接池可以提高数据库连接的性能和可靠性。具体的使用步骤如下:
1. 在项目中引入Druid的依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
```
2. 在application.properties或application.yml配置文件中添加Druid相关配置信息,如下所示:
```properties
# 数据库连接池配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# Druid连接池配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=10
spring.datasource.druid.min-idle=10
spring.datasource.druid.max-active=100
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
spring.datasource.druid.validation-query-timeout=3
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.test-on-borrow=false
spring.datasource.druid.test-on-return=false
spring.datasource.druid.filters=stat,wall,log4j
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
```
其中,spring.datasource.type=com.alibaba.druid.pool.DruidDataSource表示使用Druid连接池;spring.datasource.druid开头的属性为Druid连接池的配置信息。
3. 在Spring Boot的启动类中添加Druid监控Servlet和Filter:
```java
@Bean
public ServletRegistrationBean<StatViewServlet> druidServletRegistrationBean() {
ServletRegistrationBean<StatViewServlet> servletRegistrationBean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
// IP白名单
servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
// IP黑名单(优先级高于白名单)
// servletRegistrationBean.addInitParameter("deny", "");
// 控制台管理用户
servletRegistrationBean.addInitParameter("loginUsername", "admin");
servletRegistrationBean.addInitParameter("loginPassword", "admin");
// 是否能够重置数据 禁用HTML页面上的“Reset All”功能
servletRegistrationBean.addInitParameter("resetEnable", "false");
return servletRegistrationBean;
}
@Bean
public FilterRegistrationBean<WebStatFilter> druidFilterRegistrationBean() {
FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<>(new WebStatFilter());
// 添加过滤规则
filterRegistrationBean.addUrlPatterns("/*");
// 添加不需要忽略的格式信息
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
```
4. 在需要使用数据库连接的地方,注入DruidDataSource即可:
```java
@Autowired
private DruidDataSource dataSource;
```
需要注意的是,Druid连接池的配置比较灵活,可以根据实际需求进行相应的调整。