Druid Spring Boot Starter 用于帮助您在 Spring Boot 项目中轻松集成 Druid 数据库连接池和监控。
将 druid-spring-boot-starter 依赖添加到 Spring Book 项目中
<依赖>
< groupId > com.alibaba </ groupId >
< artifactId > druid-spring-boot-starter </ artifactId >
< version > 1.1.5 </ version >
</ dependency >
编译 'com.alibaba:druid-spring-boot-starter:1.1.5'
添加配置
xml
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,配置_configure WebStatFilter
spring .datasource .druid .web -stat-filter .enabled = #StatFilter默认值是否开启
spring .datasource .druid .web -stat-filter .url -模式=
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 默认值是否开启
spring .datasource .druid .stat -view-servlet 。网址-模式=
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入口点,如xyzservice。*, 并配置多个英文逗号
分隔 # 如果spring.datasource.druid.aop-patterns要代理的类没有定义接口,设置spring.aop.proxy-target-class=true
Druid Spring Boot Starter 不限于支持上述配置属性。将支持DruidDataSource内部提供 setter 方法的可配置属性。您可以查阅 WIKI 文档或通过 IDE 输入提示进行配置。您可以选择配置文件格式。属性或。yml,效果是一样的,在配置较多的情况下推荐使用。yml。
添加配置
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
# Druid 数据源配置,继承spring.datasource。* 配置,并覆盖相同
...
spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=5
...
# Druid Data Source 1配置,继承spring.datasource.druid。* 配置,并覆盖相同
...
spring.datasource.druid.one.max-active=10
spring.datasource.druid.one.max-wait=10000
...
# Druid Data Source 2配置,继承spring.datasource.druid。* 配置,并覆盖相同
...
spring.datasource.druid.two.max-active=20
spring.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();
}
可以通过 spring.datasource.druid.filters=stat,wall,log4j... 启用对应的内置过滤器,但是这些过滤器都是默认配置。如果默认配置不能满足你的需求,你可以放弃这种方式,通过配置文件配置Filter。这是一个例子。
# 配置统计过滤器
spring.datasource.druid.filter.stat.db-type=h2
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
# 配置墙过滤器
spring.datasource.druid.filter.wall.enabled=true
spring.datasource.druid.filter.wall.db-type=h2
spring.datasource.druid.filter.wall.config.delete-allow=false
spring.datasource.druid.filter.wall.config.drop-table-allow=false
# 其他过滤器配置不再演示
当前为以下过滤器提供了配置支持,无论是在文档中还是根据 IDE 提示符(spring.datasource.druid.filter.*)。
- StatFilter
- WallFilter
- ConfigFilter
- EncodingConvertFilter
- Slf4jLogFilter
- Log4jFilter
- Log4j2Filter
- CommonsLogFilter
要使自定义过滤器配置起作用,您需要将相应过滤器的启用设置为true。Druid Spring Boot Starter 默认会启用 StatFilter。您还可以将其启用设置为 false 以禁用它。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习