Spring对druid数据源的使用

druid数据监控(阿里的数据源产品)--监控、安全
默认使用的是tomcat的数据源
要切换druid的数据源,首先在Maven仓库找到druid的数据源的依赖,将依赖引进到pom文件,自动进行引入:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
1.1.10是版本号,可以自行进行修改
然后就是在application.yml或者是application.properties文件进行修改配置:
spring:
datasource:
username: root
password: root
url: jdbc:mysql://192.168.43.197:3306/jdbc
driver-class-name: com.mysql.cj.jdbc.Driver
# 指定数据源的类型位druid
type: com.alibaba.druid.pool.DruidDataSource
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
 
 
#
 
# initialization-mode: always
# schema:
# - classpath:department.sql
然后就是定制我们的后台的监控:
@Bean
public ServletRegistrationBean statViewServlet(){
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String,String> initParams = new HashMap<>();
 
initParams.put("loginUsername","admin");
initParams.put("loginPassword","123456");
initParams.put("allow","localhost");//默认就是允许所有访问
initParams.put("deny","192.168.79.1");
 
bean.setInitParameters(initParams);
return bean;
}
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter());
 
Map<String,String> initParams = new HashMap<>();
initParams.put("exclusions","*.js,*.css,/druid/*");
 
bean.setInitParameters(initParams);
 
bean.setUrlPatterns(Arrays.asList("/*"));
 
return bean;
}
然后在我们的地址栏输入我们的ip:端口号就可以进行访问druid的后台监控中心
后台的所有的监控都可以这里进行查看
在测试类里面进行查看我们的druid的信息配置:
测试类;
package com.jdbc.demo;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
 
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
 
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Autowired
DataSource dataSource;
@Test
public void contextLoads() throws SQLException {
System.out.println(dataSource.getClass());
Connection connection = dataSource.getConnection();
System.out.println(connection);
connection.close();
}
}
以debug的方式运行,就可以看到我们的配置是否生效:
 
 
我们发送一个query的请求:
然后在我们的后台监控的网址下:
就可以看见我们的sql的监控:

猜你喜欢

转载自www.cnblogs.com/zhaochunhui/p/11371681.html
今日推荐