依赖加入
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.18</version>
</dependency>
YML
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf-8
username: root
password: 12345678
# druid 配置
dbType: mysql # 指定数据库类型 mysql
initialSize: 5 # 启动初始化连接数量
minIdle: 5 # 最小空闲连接
maxActive: 20 # 最大连接数量(包含使用中的和空闲的)
maxWait: 60000 # 最大连接等待时间 ,超出时间报错
timeBetweenEvictionRunsMillis: 60000 # 设置执行一次连接回收器的时间
minEvictableIdleTimeMillis: 300000 # 设置时间: 该时间内没有任何操作的空闲连接会被回收
validationQuery: select 'x' # 验证连接有效性的sql
testWhileIdle: true # 空闲时校验
testOnBorrow: false # 使用中是否校验有效性
testOnReturn: false # 归还连接池时是否校验
poolPreparedStatements: false # mysql 不推荐打开预处理连接池
filters: stat,wall,logback #设置过滤器 stat用于接收状态,wall防止sql注入,logback说明使用logback进行日志输出
userGlobalataSourceStat: true # 统计所有数据源状态
connectionProperties: druid.stat.mergSql=true;druid.stat.slowSqlMillis=500 # sql合并统计 设置慢sql时间为500,超过500 会有记录提示
入口程序配置自定义Bean
// 初始化druidDataSource对象
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druidDataSource(){
return new DruidDataSource();
}
// 注册后台监控界面
@Bean
public ServletRegistrationBean servletRegistrationBean(){
// 绑定后台监控界面的路径 为localhost/druid
ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
Map<String,String>map=new HashMap<>();
// 设置后台界面的用户名
map.put("loginUsername","guoxw");
//设置后台界面密码
map.put("loginPassword","123456");
// 设置那些ip允许访问," " 为所有
map.put("allow","");
// 不允许该ip访问
map.put("deny","33.32.43.123");
bean.setInitParameters(map);
return bean;
}
// 监听获取应用的数据,filter用于收集数据,servlet用于数据展示
@Bean
public FilterRegistrationBean filterRegistrationBean(){
FilterRegistrationBean bean=new FilterRegistrationBean();
// 设置过滤器
bean.setFilter(new WebStatFilter());
// 对所有请求进行过滤捕捉监听
bean.addUrlPatterns("/*");
Map<String,String>map=new HashMap<>();
// 排除 . png .js 的监听 用于排除一些静态资源访问
map.put("exclusions","*.png,*.js");
bean.setInitParameters(map);
return bean;
}
进入配置的地址 http://localhost:8080/druid