Druid Spring Boot Starter
来源:互联网 发布:c语言开发系统 编辑:程序博客网 时间:2024/04/26 03:59
Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。
如何使用
在 Spring Boot 项目中加入
druid-spring-boot-starter
依赖Maven
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.4</version></dependency>
Gradle
compile 'com.alibaba:druid-spring-boot-starter:1.1.4'
添加配置
spring.datasource.url= spring.datasource.username=spring.datasource.password=# ...其他配置(可选,不是必须的,使用内嵌数据库的话上述三项也可省略不填)
配置属性
Druid Spring Boot Starter 配置属性的名称完全遵照 Druid,你可以通过 Spring Boot 配置文件来配置Druid数据库连接池和监控,如果没有配置则使用默认值。
- JDBC 配置
spring.datasource.druid.url= # 或spring.datasource.url= spring.datasource.druid.username= # 或spring.datasource.username=spring.datasource.druid.password= # 或spring.datasource.password=spring.datasource.druid.driver-class-name= #或 spring.datasource.driver-class-name=
- 连接池配置
spring.datasource.druid.initial-size=spring.datasource.druid.max-active=spring.datasource.druid.min-idle=spring.datasource.druid.max-wait=spring.datasource.druid.pool-prepared-statements=spring.datasource.druid.max-pool-prepared-statement-per-connection-size= spring.datasource.druid.max-open-prepared-statements= #和上面的等价spring.datasource.druid.validation-query=spring.datasource.druid.validation-query-timeout=spring.datasource.druid.test-on-borrow=spring.datasource.druid.test-on-return=spring.datasource.druid.test-while-idle=spring.datasource.druid.time-between-eviction-runs-millis=spring.datasource.druid.min-evictable-idle-time-millis=spring.datasource.druid.max-evictable-idle-time-millis=spring.datasource.druid.filters= #配置多个英文逗号分隔....//more
- 监控配置
# WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilterspring.datasource.druid.web-stat-filter.enabled= #是否启用StatFilter默认值truespring.datasource.druid.web-stat-filter.url-pattern=spring.datasource.druid.web-stat-filter.exclusions=spring.datasource.druid.web-stat-filter.session-stat-enable=spring.datasource.druid.web-stat-filter.session-stat-max-count=spring.datasource.druid.web-stat-filter.principal-session-name=spring.datasource.druid.web-stat-filter.principal-cookie-name=spring.datasource.druid.web-stat-filter.profile-enable=# StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置spring.datasource.druid.stat-view-servlet.enabled= #是否启用StatViewServlet默认值truespring.datasource.druid.stat-view-servlet.url-pattern=spring.datasource.druid.stat-view-servlet.reset-enable=spring.datasource.druid.stat-view-servlet.login-username=spring.datasource.druid.stat-view-servlet.login-password=spring.datasource.druid.stat-view-servlet.allow=spring.datasource.druid.stat-view-servlet.deny=# Spring监控配置,说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置spring.datasource.druid.aop-patterns= # Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔# 如果spring.datasource.druid.aop-patterns要代理的类没有定义interface请设置spring.aop.proxy-target-class=true
Druid Spring Boot Starter 不仅限于对以上配置属性提供支持,DruidDataSource
内提供setter
方法的可配置属性都将被支持。你可以参考WIKI文档或通过IDE输入提示来进行配置。配置文件的格式你可以选择.properties
或.yml
,效果是一样的,在配置较多的情况下推荐使用.yml
。
如何配置多数据源
- 添加配置
spring.datasource.url=spring.datasource.username=spring.datasource.password=# Druid 数据源配置,继承spring.datasource.* 配置,相同则覆盖...spring.datasource.druid.initial-size=5spring.datasource.druid.max-active=5...# Druid 数据源 1 配置,继承spring.datasource.druid.* 配置,相同则覆盖...spring.datasource.druid.one.max-active=10spring.datasource.druid.one.max-wait=10000...# Druid 数据源 2 配置,继承spring.datasource.druid.* 配置,相同则覆盖...spring.datasource.druid.two.max-active=20spring.datasource.druid.two.max-wait=20000...
- 创建数据源
@Primary@Bean@ConfigurationProperties("spring.datasource.druid.one")public DataSource dataSourceOne(){ return DruidDataSourceBuilder.create().build();}@Bean@ConfigurationProperties("spring.datasource.druid.two")public DataSource dataSourceTwo(){ return DruidDataSourceBuilder.create().build();}
如何配置 Filter
你可以通过 spring.datasource.druid.filters=stat,wall,log4j ...
的方式来启用相应的内置Filter,不过这些Filter都是默认配置。如果默认配置不能满足你的需求,你可以放弃这种方式,通过配置文件来配置Filter,下面是例子。
# 配置StatFilter spring.datasource.druid.filter.stat.db-type=h2spring.datasource.druid.filter.stat.log-slow-sql=truespring.datasource.druid.filter.stat.slow-sql-millis=2000# 配置WallFilter spring.datasource.druid.filter.wall.enabled=truespring.datasource.druid.filter.wall.db-type=h2spring.datasource.druid.filter.wall.config.delete-allow=falsespring.datasource.druid.filter.wall.config.drop-table-allow=false# 其他 Filter 配置不再演示
目前为以下 Filter 提供了配置支持,请参考文档或者根据IDE提示(spring.datasource.druid.filter.*
)进行配置。
- StatFilter
- WallFilter
- ConfigFilter
- EncodingConvertFilter
- Slf4jLogFilter
- Log4jFilter
- Log4j2Filter
- CommonsLogFilter
要想使自定义 Filter 配置生效需要将对应 Filter 的 enabled
设置为 true
,Druid Spring Boot Starter 默认会启用 StatFilter,你也可以将其 enabled
设置为 false
来禁用它。
IDE 提示支持
演示
克隆项目,运行test
包内的DemoApplication
。
- Druid Spring Boot Starter
- druid-spring-boot-starter
- Druid Spring Boot Starter数据库链接池新福利
- spring boot starter 详解
- spring boot自定义starter
- spring-boot-starter-dubbo
- spring-boot-starter-security
- spring boot 启动器starter
- Spring Boot 自定义starter
- spring-boot-starter
- Spring Boot Starter 介绍
- mybatis-spring-boot-starter
- Spring-boot-Mybatis-Starter
- spring boot-认识spring-boot-starter-parent
- spring-boot-starter-redis 集成
- 自定义spring-boot-starter-hbase
- 自定义spring-boot-starter-dubbox
- Spring Boot 启动器starter详解
- 购物车
- JUnit使用的简单介绍
- 使用SublimeTest3来编辑Markdown文档
- GreenDao官方文档翻译(三)之模型化实体-Schema & Annotations
- linux下的7种文件类型
- Druid Spring Boot Starter
- spring 框架优点
- 架构师之路,季度精选40篇
- 互联网之子:亚伦·斯沃茨
- 每天一道LeetCode-----删除链表倒数第n个节点
- SSO系列之——同域下单点登录系统介绍
- 在eclipse配置Tomcat时遇到的小问题
- 在MacOS系统安装homebrew(2017年末版,持续更新)
- 什么是图灵测试