You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.yuxue.config;
import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.google.common.collect.Lists;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* druid连接池的配置,配置如何处理慢sql
*/
@Configuration
public class DruidConfig {
// 这个注解读取配置文件前缀为prefix的配置将外部的配置文件与这里绑定
// 容器的开启与关闭
@ConfigurationProperties(prefix = "spring.druid")
@Bean(initMethod = "init", destroyMethod = "close")
public DruidDataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setProxyFilters(Lists.newArrayList(statFilter()));
return dataSource;
}
// bean注解成为spring的bean利用filter将慢sql的日志打印出来
//@Bean
public Filter statFilter() {
StatFilter statFilter = new StatFilter();
// 多长时间定义为慢sql这里定义为5s
statFilter.setSlowSqlMillis(5000);
// 是否打印出慢日志
statFilter.setLogSlowSql(true);
// 是否将日志合并起来
statFilter.setMergeSql(true);
return statFilter;
}
// 这是配置druid的监控
@Bean
public ServletRegistrationBean servletRegistrationBean() {
return new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
}
}