Spring Boot 使用阿里巴巴 Druid 数据源

Druid 是 Java 语言中最好的数据库连接池。Druid 能够提供强大的监控和扩展功能。

1、引入依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.10</version>
</dependency>

2、配置数据源的基本参数

server:
  port: 8771

#Spring
spring:
  datasource:
    username: dev
    password: 123456
    url: jdbc:mysql://localhost:3306/htcpp?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      #最大活跃数
      max-active: 20
      #初始化数量
      initial-size: 1
      #最大连接等待超时时间
      max-wait: 60000
      min-idle: 1
      #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      time-between-eviction-runs-millis: 60000
      #配置一个连接在池中最小生存的时间,单位是毫秒
      min-evictable-idle-time-millis: 300000
      #打开PSCache,并且指定每个连接PSCache的大小
      pool-prepared-statements: true
      max-open-prepared-statements: 20
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      async-init: true
      #配置监控统计拦截的filters
      filters: stat,wall,log4j

这样已经可以使用 Druid 了,如果还需要使用 Druid 的监控功能,还需要额外的配置。

引入配置类,当然这些配置完全可以在配置文件中进行设置,可以自由选择是写在类中或者配置文件中。

package com.haitaiinc.clinicpathservice.config;

import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
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;

@Configuration
public class DruidConfiguration {
    @Bean
    public ServletRegistrationBean statViewServlet() {
        //创建servlet注册实体
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        //设置ip白名单
        servletRegistrationBean.addInitParameter("allow", "127.0.0.1");
        //设置ip黑名单,如果allow与deny共同存在时,deny优先于allow
        servletRegistrationBean.addInitParameter("deny", "192.168.0.19");
        //设置控制台管理用户
        servletRegistrationBean.addInitParameter("loginUsername", "admin");
        servletRegistrationBean.addInitParameter("loginPassword", "123456");
        //是否可以重置数据
        servletRegistrationBean.addInitParameter("resetEnable", "false");
        return servletRegistrationBean;
    }

    @Bean
    public FilterRegistrationBean statFilter() {
        //创建过滤器
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
        //设置过滤器过滤路径
        filterRegistrationBean.addUrlPatterns("/*");
        //忽略过滤的形式
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }
}

启动项目,如果项目启动报如下图所示的错误。

那是由于 Spring Boot 和 Druid 版本不兼容导致的,只需要在启动类中增加一行注解。

@EnableAutoConfiguration(exclude={DruidDataSourceAutoConfigure.class})

输入地址:http://127.0.0.1:8771/druid/login.html,IP地址,端口号根据项目的实际情况来

输入用户名,密码(配置文件中配置的用户名。密码)进行登录,登录后就可以看我们想看的信息。

参考文章:

https://blog.csdn.net/jay100500/article/details/81270298

https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

原文地址:https://www.cnblogs.com/jwen1994/p/12181390.html

时间: 2024-08-30 14:15:08

Spring Boot 使用阿里巴巴 Druid 数据源的相关文章

(转)阿里巴巴Druid数据源及使用

原文链接:https://blog.csdn.net/yanguo110/article/details/68944659 第一部分:数据源的集中比较. 目前常用的数据源主要有c3p0.dbcp.proxool.druid,先来说说他们Spring 推荐使用dbcp:Hibernate 推荐使用c3p0和proxool1. DBCP:apacheDBCP(DataBase connection pool)数据库连接池.是apache上的一个 java连接池项目,也是 tomcat使用的连接池组件

Spring Boot之JdbcTemplate多数据源配置与使用

之前在介绍使用JdbcTemplate和Spring-data-jpa时,都使用了单数据源.在单数据源的情况下,Spring Boot的配置非常简单,只需要在application.properties文件中配置连接参数即可.但是往往随着业务量发展,我们通常会进行数据库拆分或是引入其他数据库,从而我们需要配置多个数据源,下面基于之前的JdbcTemplate和Spring-data-jpa例子分别介绍两种多数据源的配置方式. 多数据源配置 创建一个Spring配置类,定义两个DataSource

spring boot之配置druid

不了解druid,请参考这里. 新增文件: 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.spr

Spring Boot 2.x基础教程:使用国产数据库连接池Druid

上一节,我们介绍了Spring Boot在JDBC模块中自动化配置使用的默认数据源HikariCP.接下来这一节,我们将介绍另外一个被广泛应用的开源数据源:Druid. Druid是由阿里巴巴数据库事业部出品的开源项目.它除了是一个高性能数据库连接池之外,更是一个自带监控的数据库连接池.虽然HikariCP已经很优秀,但是对于国内用户来说,可能对于Druid更为熟悉.所以,对于如何在Spring Boot中使用Druid是后端开发人员必须要掌握的基本技能. 配置Druid数据源 这一节的实践我们

Spring Boot:整合Spring Security

综合概述 Spring Security 是 Spring 社区的一个顶级项目,也是 Spring Boot 官方推荐使用的安全框架.除了常规的认证(Authentication)和授权(Authorization)之外,Spring Security还提供了诸如ACLs,LDAP,JAAS,CAS等高级特性以满足复杂场景下的安全需求.另外,就目前而言,Spring Security和Shiro也是当前广大应用使用比较广泛的两个安全框架. Spring Security 应用级别的安全主要包含两

spring boot基于DRUID数据源密码加密及数据源监控实现

前言 随着需求和技术的日益革新,spring boot框架是越来越流行,她也越来越多地出现在我们的项目中,当然最主要的原因还是因为spring boot构建项目实在是太爽了,构建方便,开发简单,而且效率高.今天我们并不是来专门学习spring boot项目的,我们要讲的是数据源的加密和监控,监控到好说,就是不监控也没什么问题,但是数据源加密却涉及到我们的系统安全.对于平时的学习测试,我们在项目中配置数据库明文密码是没什么问题的,因为我们的数据不重要,也就无所谓,但是在现实环境下的生产平台,配置明

Spring Boot 整合 Mybatis 实现 Druid 多数据源详解

一.多数据源的应用场景 目前,业界流行的数据操作框架是 Mybatis,那 Druid 是什么呢? Druid 是 Java 的数据库连接池组件.Druid 能够提供强大的监控和扩展功能.比如可以监控 SQL ,在监控业务可以查询慢查询 SQL 列表等.Druid 核心主要包括三部分: 1. DruidDriver 代理 Driver,能够提供基于 Filter-Chain 模式的插件体系. 2. DruidDataSource 高效可管理的数据库连接池 3. SQLParser 当业务数据量达

六、spring boot 配置多数据源

spring boot 已经支持多数据源配置了,无需网上好多那些编写什么类的,特别麻烦,看看如下解决方案,官方的,放心! 1.首先定义数据源配置 #=====================multiple database config============================#ds1first.datasource.url=jdbc:mysql://localhost/test?characterEncoding=utf8&useSSL=truefirst.datasource

《深入实践Spring Boot》第4章 提高数据库访问性能

目录 第4章 提高数据库访问性能 4.1 使用Druid 4.1.1 配置Druid依赖 4.1.2 关于XML配置 4.1.3 Druid数据源配置 4.1.4 开启监控功能 第4章 提高数据库访问性能 使用关系型数据库的应用系统的性能瓶颈最终还是数据库.随着业务的迅速增长,数据量会不断增大,会逐渐暴露出关系型数据库的弱点,即性能大幅下降.提升关系型数据库的访问性能是开发者的迫切任务.下面从程序开发角度,对提升数据库的访问性进行介绍和探讨. 本章的实例工程使用了分模块的方式设计,各个模块的功能