目录
一、自定义整合druid
导入pom
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.8</version>
</dependency>
写配置类
@Configuration
public class MyDataSourceConfig {
@ConfigurationProperties("spring.datasource")
@Bean
public DataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
//加入监控功能
//也可以在配置文件中进行配置
druidDataSource.setFilters("stat,wall");
return druidDataSource;
}
/**
* 配置druid监控页
* @return
*/
@Bean
public ServletRegistrationBean servletRegistrationBean(){
StatViewServlet statViewServlet = new StatViewServlet();
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(statViewServlet, "/druid/*");
//设置登录账号和密码
servletRegistrationBean.addInitParameter("loginUsername","admin");
servletRegistrationBean.addInitParameter("loginPassword","123456");
return servletRegistrationBean;
}
/**
* 配置web——jdbc关联监控的数据
* @return
*/
@Bean
public FilterRegistrationBean filterRegistrationBean(){
WebStatFilter webStatFilter = new WebStatFilter();
FilterRegistrationBean<Filter> filterFilterRegistrationBean = new FilterRegistrationBean<>(webStatFilter);
filterFilterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
filterFilterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterFilterRegistrationBean;
}
}
@GetMapping("/queryForDB")
@ResponseBody
public String queryForDB(){
Long aLong = jdbcTemplate.queryForObject("select count(*) from t_user",Long.class);
return aLong.toString();
}
}
测试访问
二、使用starter整合druid
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.17</version>
</dependency>
spring:
datasource:
url: jdbc:mysql://localhost:3307/test1?useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
druid:
filters: stat,wall #底层开启功能stat(sql监控)wall(防火墙监控)
stat-view-servlet: #配置监控页功能
enabled: true
login-username: admin
login-password: 123456
reset-enable: false
web-stat-filter: #监控web
enabled: true
url-pattern: /*
exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
aop-patterns: com.cjc.boot.*
filter: #对filters详细配置
stat:
slow-sql-millis: 1000
log-slow-sql: true
enabled: true
wall:
enabled: true