玩转 SpringBoot2.x 之自定义配置类整合Druid(Mybatis版)

专题系列分类:玩转SpringBoot2.x系列教程

前言

在阅读前这篇博客之前请先移步 玩转 SpringBoot 2.x 整合 Mybatis因为我们这篇博客是在其基础之上进行讲解的。在玩转 SpringBoot 2.x 整合 Mybatis中并没有使用数据库连接池,本文特意讲解如何在SpringBooot 中使用 Druid 数据库连接池。

Druid是什么?

Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
官方给出介绍就是这么硬气,闲话少说,直接开整!

自定义配置类整合Druid 操作

第一步:引入druid 依赖

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.0</version>
		</dependency>

第二步: 定义Druid 配置类

Druid 配置类 需要配置三块信息

  1. 配置 DruidDataSource (必选)
    数据库连接池的信息
  2. 配置StatFilter (非必选)
    StatFilter 用于统计监控信息配置
  3. 配置StatViewServlet(非必选)
    StatViewServlet用于展示Druid的统计信息。
    这个StatViewServlet的用途包括:
    提供监控信息展示的html页面
    提供监控信息的JSON API

具体配置类内容如下:

package cn.lijunkui.config;

import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;

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;

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;

@Configuration
public class DruidConfig {
	@ConfigurationProperties(prefix="spring.druid")
	@Bean(initMethod="init",destroyMethod="close")
	public DruidDataSource dataSource() throws SQLException{
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setProxyFilters(Lists.newArrayList(statFilter()));
		return dataSource;
	}
	
	@Bean
	public Filter statFilter(){
		StatFilter filter = new StatFilter();
		filter.setSlowSqlMillis(5000);
		filter.setLogSlowSql(true);
		filter.setMergeSql(true);
		return filter;
	}
	
	
	@Bean
	public ServletRegistrationBean servletRegistrationBean() {
		ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),
				"/druid/*");
		Map initParameters = new HashMap<>();
		initParameters.put("loginUsername", "admin");//监控访问登录名称
		initParameters.put("loginPassword", "admin");//监控访问的密码
		servletRegistrationBean.setInitParameters(initParameters);

		return servletRegistrationBean;
	}
}

通过访问 http:// ip:项目端口号/项目名称/druid/index.html 访问监控信息,如下图所示:
在这里插入图片描述
在这里插入图片描述

参考文献

  • https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值