spring druid配置,springboot+druid多数据源配置
本文主要介绍了SpringBoot在yml配置文件中配置druid的操作,有很好的参考价值。希望对大家有帮助。来和边肖一起看看吧。
最新版本的德鲁伊在滤镜配置上和老版本有些不同。以下是老版本druid中filter的配置:
春天:
# #数据库连接信息
数据源:
URL:JDBC:MySQL://localhost:3306/young
用户名:root
密码:root
driver-class-name:com . MySQL . JDBC . driver
# # # # # # # # # # # # # # #以下配置被添加到德鲁伊# # # # # # # # # # # # #
type:com . Alibaba . druid . pool . druid data source
#以下是连接池的补充设置,适用于以上所有数据源。
#初始化大小,最小值,最大值
初始大小:5
迷你豆:5
最大活动值:20
#配置等待连接超时的时间。
maxWait: 60000
#配置检测需要关闭的空闲连接的频率,以毫秒为单位。
驱逐时间间隔:60000
#配置池中连接的最短生存期,以毫秒为单位。
minEvictableIdleTimeMillis:300000
验证查询:从双重中选择1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
#打开PSCache并指定每个连接上PSCache的大小。
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize:20
#配置通过监控统计截获的过滤器。去掉它们后,监控接口sql就不能算了,防火墙用的是‘墙’。
过滤器:stat、wall、log4j
#通过connectProperties属性打开mergeSql函数;慢速SQL记录
connection properties:druid . stat . merge SQL=true;druid.stat.slowSqlMillis=5000
#合并多个DruidDataSource的监控数据
useGlobalDataSourceStat: true
# # # # # # # # # # # #以上配置# # # # # # # # # # #
以下是1.1.10版本的druid配置过滤器:
春天:
# #数据库连接信息
数据源:
URL:JDBC:MySQL://localhost:3306/day 05
用户名:root
密码:15963asd
driver-class-name:com . MySQL . JDBC . driver
# # # # # # # # # # # # # # #以下配置被添加到德鲁伊# # # # # # # # # # # # #
type:com . Alibaba . druid . pool . druid data source
#以下是连接池的补充设置,适用于以上所有数据源。
#初始化大小,最小值,最大值
初始大小:5
迷你豆:5
最大活动值:20
#配置等待连接超时的时间。
maxWait: 60000
#配置检测需要关闭的空闲连接的频率,以毫秒为单位。
驱逐时间间隔:60000
#配置池中连接的最短生存期,以毫秒为单位。
minEvictableIdleTimeMillis:300000
验证查询:从双重中选择1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
#打开PSCache并指定每个连接上PSCache的大小。
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize:20
#配置通过监控统计截获的过滤器。去掉它们后,监控接口sql就不能算了,防火墙用的是‘墙’。这是过滤器被修改的地方。
过滤器:
commons-log . connection-logger-name:stat,wall,log4j
#通过connectProperties属性打开mergeSql函数;慢速SQL记录
connection properties:druid . stat . merge SQL=true;druid.stat.slowSqlMillis=5000
#合并多个DruidDataSource的监控数据
useGlobalDataSourceStat: true
顺便附上springboot中yml配置文件中关于德鲁伊配置的过滤器配置错误的信息:
属性:spring.datasource.filters
值:stat,wall,log4j
Origin:类路径资源[application.yml]:29:14
原因:无法设置属性过滤器的值
补充知识:Springboot中yml文件读取
的。SpringBoot的yml文件是一个非常简洁的配置文件,可以看作是简化版的。属性。
一般来说,我们可以通过注释@Value直接得到一个属性的值。
例如,它具有以下配置:
春天:
数据源:
德鲁伊:
本地主机:
driver class name:com . MySQL . JDBC . driver
URL:JDBC:MySQL://localhost:3306/PAAs-dashboard?use unicode=true character encoding=utf8
用户名:root
密码:123
主人:
driver class name:Oracle . JDBC . Oracle driver
URL:JDBC:Oracle:thin:@//172 . 21 . 0 . 73:1621/tthradb
用户名:dbchnesbcfgcha
密码:dbchnesbcfgcha
一般来说,这个值是通过@ value(spring . data source . druid . localhost . driver class name)直接获取的。
但是如果需要直接获取localhost下的所有配置呢?还是自己指定某层以下的所有配置信息?
简单示例
SpringBoot中还有一个非常强大的annotation @ configuration properties,可以直接将yml的配置注入到一个对象中。
例如,yml具有以下配置:
信息:
用户:
姓名:张三
年龄:14岁
此时,我们定义了一个用户对象:
类别用户{
字符串名称;
int age
//getter和setter方法
}
通过Spring容器中的@ConfigurationProperties直接注入,并且需要在配置文件中给上级用户指定一个前缀。对象名必须与yml中的配置相同。
@组件
@ property source( class path:application-druid . yml )//指定yml文件位置
@ConfigurationProperties(前缀=info )
公共类YmlConfig{
User User=new User();
//用户getter和setter方法
}
Spring容器启动后,yml中配置的属性被注入到用户对象中。
或者我们可以用地图来封装它。配置文件中的属性只不过是key:value的形式,它还定义了用户对象:
@组件
@ property source( class path:application-druid . yml )//指定yml文件位置
@ConfigurationProperties(前缀=info )
公共类YmlConfig{
MapString,String user=new HashMap();
//用户getter和setter方法
}
也可以注入到用户的地图对象中。
指定任意层
比如本文开头的yml配置文件的配置,如果我想直接获取所有数据源的配置,那么我必须指定一个可以容纳所有这些配置的对象,自定义对象,或者直接使用Map。例如,我们定义以下映射:
@组件
@ConfigurationProperties(前缀=spring.datasource )
公共类YmlConfig{
MapString,MapString,String druid=new HashMap();
//用户getter和setter方法
}
Spring容器在里面之后,配置文件中spring.datasource.druid下面的配置属性也可以注入到druid对象中。
还要指定其他层的配置,只要符合对象的数据结构,配置的属性就可以注入到对象中。
以上SpringBoot在yml配置文件中配置德鲁伊的操作就是边肖分享的全部内容。希望给大家一个参考,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。