基于Springboot2.x版本的Druid相关配置
使用Druid我们需要先引用该配置的maven 包
打开pom.xml,将maven配置进去,配置完会自动联网下载该包相关的类,需稍等片刻
该包获取的地址为:
https://mvnrepository.com/artifact/com.alibaba/druid
可以在该地址自行选择druid的版本,
在这里我用的是最新版本的1.1.23版本的
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
引用完之后我们需要进行相关的属性配置:
这里有两种方法:
相关属性的介绍在下面这个地址:
https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8
根据项目的需要可以自行配置。
第一种:
使用appllication.properties
对于mysql的连接配置可以参考下面的连接:
https://blog.csdn.net/Wind_biscuit/article/details/107571916
//mysql连接配置
spring.datasource.username=******
spring.datasource.password=******
spring.datasource.url= jdbc:mysql://localhost:3306/sqlname?serverTimezone=UTC
//druid配置
spring.datasource.driver-class-name= com.mysql.cj.jdbc.Driver
spring.datasource.type= com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size= 5
spring.datasource.druid.min-idle= 5
spring.datasource.druid.maxActive= 20
spring.datasource.druid.maxWait= 60000
spring.datasource.druid.timeBetweenEvictionRunsMillis= 60000
spring.datasource.druid.minEvictableIdleTimeMillis= 300000
spring.datasource.druid.validationQuery= SELECT 1 FROM DUAL
spring.datasource.druid.testWhileIdle= true
spring.datasource.druid.testOnBorrow= false
spring.datasource.druid.testOnReturn= false
spring.datasource.druid.poolPreparedStatements= true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize= 20
spring.datasource.druid.filters= stat
spring.datasource.druid.connectionProperties= druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
第二种:
使用application.yml进行配置。个人推荐使用这种,可读性,与代码的简洁性都会好很多
spring:
datasource:
//mysql配置类
username: *****
password: *****
url: jdbc:mysql://localhost:3306/sqlname?serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
//druid配置类
type: com.alibaba.druid.pool.DruidDataSource
druid:
maxActive: 20
maxWait: 60000
initialSize: 5
minIdle: 5
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
filters: stat
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
基本的配置类写完之后,我们需要来写Druid的相关类
新建一个config文件夹,用来放DruidConfig的配置类
类里面的内容为如下:
@Configuration
public class DruidConfig {
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<StatViewServlet>( new StatViewServlet(), "/druid/*" );
Map<String,String> iniParms=new HashMap<>( );
iniParms.put( "loginUsername","admin" );//登录druid的用户名
iniParms.put( "loginPassword","123456" );//登录druid的密码
iniParms.put("allow","");//默认允许所有
iniParms.put( "deny","192.168.***.***" );//自己本机的ip地址
bean.setInitParameters( iniParms );
return bean;
}
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean bean= new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
Map<String,String> iniParms=new HashMap<>();
iniParms.put( "excliusions", "*.js,*.css,/druid/*");//使静态文件访问,还有/druid/* 的访问不被拦截
bean.setInitParameters( iniParms );
bean.setUrlPatterns( Arrays.asList("/*"));
return bean;
}
}
这时候我们就完成了所有的配置 只需要运行该项目,然后在浏览器中输入
http://localhost:8080/druid/login.html
我们会进入下面这个界面:
通过输入我们自行设置的用户名和密码登录,
就可以查看我们配置的连接池的信息了。
到这里我们才是正式结束了druid的配置,
希望能帮到你。
版权声明:本文为Wind_biscuit原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。