Druid(新版starter)在SpringBoot下的使用教程

说明

Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。DruidDataSource支持的数据库:
理论上说,支持所有有jdbc驱动的数据库。最近发现Druid在springboot框架下有更加好用的Druid Spring Boot Starter,可以省去原本写Druid的一些配置文件或者@Configuration来配置,直接将配置写在application.yml里,看起来更简单一些。

快速开始

版本:最新版druid-spring-boot-starter:1.1.10(也只有这个版本开始才有类似spring.datasource.druid.web-stat-filter这样的配置),依赖关系如下

-1

更新pom.XML

  1. <dependency>
  2.      <groupId>com.alibaba</groupId>
  3.      <artifactId>druid-spring-boot-starter</artifactId>
  4.      <version>1.1.10</version>
  5. </dependency>

编写application.yml,部分说明写在注释了:

  1. spring:
  2.      application:
  3.      name: springboottestexam1
  4.      datasource:
  5.      # 使用阿里的Druid连接池
  6.      type: com.alibaba.druid.pool.DruidDataSource
  7.      driverclassname: com.mysql.jdbc.Driver
  8.      # 填写你数据库的url、登录名、密码和数据库名
  9.      url: jdbc:mysql://localhost:3306/databaseName?useSSL=false&characterEncoding=utf8
  10.      username: root
  11.      password: root
  12.      druid:
  13.          # 连接池的配置信息
  14.          # 初始化大小,最小,最大
  15.          initialsize: 5
  16.          minidle: 5
  17.          maxActive: 20
  18.          # 配置获取连接等待超时的时间
  19.          maxWait: 60000
  20.          # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  21.          timeBetweenEvictionRunsMillis: 60000
  22.          # 配置一个连接在池中最小生存的时间,单位是毫秒
  23.          minEvictableIdleTimeMillis: 300000
  24.          validationQuery: SELECT 1
  25.          testWhileIdle: true
  26.          testOnBorrow: false
  27.          testOnReturn: false
  28.          # 打开PSCache,并且指定每个连接上PSCache的大小
  29.          poolPreparedStatements: true
  30.          maxPoolPreparedStatementPerConnectionSize: 20
  31.          # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,’wall’用于防火墙
  32.          filters: stat,wall,slf4j
  33.          # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
  34.          connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
  35.          # 配置DruidStatFilter
  36.          webstatfilter:
  37.          enabled: true
  38.          urlpattern: “/*”
  39.          exclusions: “*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*”
  40.          # 配置DruidStatViewServlet
  41.          statviewservlet:
  42.          urlpattern: “/druid/*”
  43.          # IP白名单(没有配置或者为空,则允许所有访问)
  44.          allow: 127.0.0.1,192.168.163.1
  45.          # IP黑名单 (存在共同时,deny优先于allow)
  46.          deny: 192.168.1.73
  47.          # 禁用html页面上的“Reset All”功能
  48.          resetenable: false
  49.          # 登录名
  50.          loginusername: admin
  51.          # 登录密码
  52.          loginpassword: 123456

为了方便使用application.properties的读者,使用下面的配置和上面相同

  1. server.port=8080
  2. spring.application.name=springboottestexam1
  3. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  4. spring.datasource.driverclassname=com.mysql.jdbc.Driver
  5. spring.datasource.url=jdbc:mysql://localhost:3306/databaseName?useSSL=false&characterEncoding=utf8
  6. spring.datasource.username=root
  7. spring.datasource.password=root
  8. spring.datasource.druid.initialsize=5
  9. spring.datasource.druid.minidle=5
  10. spring.datasource.druid.maxActive=20
  11. spring.datasource.druid.maxWait=60000
  12. spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
  13. spring.datasource.druid.minEvictableIdleTimeMillis=300000
  14. spring.datasource.druid.validationQuery=SELECT 1 FROM DUAL
  15. spring.datasource.druid.testWhileIdle=true
  16. spring.datasource.druid.testOnBorrow=false
  17. spring.datasource.druid.testOnReturn=false
  18. spring.datasource.druid.poolPreparedStatements=true
  19. spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
  20. spring.datasource.druid.filters=stat,wall,slf4j
  21. spring.datasource.druid.connectionProperties=druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
  22. spring.datasource.druid.webstatfilter.enabled=true
  23. spring.datasource.druid.webstatfilter.urlpattern=/*
  24. spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*
  25. spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
  26. spring.datasource.druid.stat-view-servlet.allow=127.0.0.1,192.168.163.1
  27. spring.datasource.druid.stat-view-servlet.deny=192.168.1.73
  28. spring.datasource.druid.stat-view-servlet.reset-enable=false
  29. spring.datasource.druid.stat-view-servlet.login-username=admin
  30. spring.datasource.druid.stat-view-servlet.login-password=123456

运行结果

访问:http://localhost:8080/druid/,登录名:admin,密码123456

-2

更多版本查看:http://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter

更多参数设置,官方文档说明:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

关于Druid的中文说明:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

到此这篇关于Druid(新版starter)在SpringBoot下的使用的文章就介绍到这了,更多相关SpringBoot使用Druid内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

标签

发表评论