Spring boot2.0以上集成Druid连接池及监控信息配置

1. Springboot 2.0选择HikariCP作为默认数据库连接池

理由参考:

https://blog.csdn.net/user_regist/article/details/80659970

https://blog.csdn.net/zxl315/article/details/80420688?utm_source=blogxgwz0

2. 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)

参考:https://blog.csdn.net/qq_31125793/article/details/51241943

  • 本文是集成Druid连接池,数据库为mysql

pom文件添加druid的依赖:

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

application.properties配置文件添加配置项:

# 连接池druid配置
# 初始化连接数
spring.datasource.initialSize=5
# 最小空闲连接数
spring.datasource.minIdle=5
# 最大连接数
spring.datasource.maxActive=20
# 获取连接等待超时的时间
spring.datasource.maxWait=60000
# 间隔60秒执行一次连接回收器
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 5分钟内没有任何操作的空闲连接会被回收
spring.datasource.minEvictableIdleTimeMillis=300000
# 验证连接有效性的sql
spring.datasource.validationQuery=SELECT 1 FROM DUAL
# 空闲时校验,建议开启
spring.datasource.testWhileIdle=true
# 使用中是否检验有效性,推荐关闭
spring.datasource.testOnBorrow=false
# 归还连接时是否检验有效性,推荐关闭
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小 
spring.datasource.poolPreparedStatements=false
# 配置监控统计拦截的过滤器,stat用于接收状态,wall用于防止sql注入,logback用于使用logback日志输出
spring.datasource.filters=stat,wall,logback
# sql合并统计,打开mergeSql功能并设置慢sql的时间为
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
# 合并多个DruidDataSource的监控数据
spring.datasource.useGlobalDataSourceStat=true

在启动类或自己新建配置类中,添加代码:

@Bean(destroyMethod = "close",initMethod = "init")
	@ConfigurationProperties(prefix = "spring.datasource")
	public DataSource druidDatasource()
	{
		DruidDataSource druidDataSource = new DruidDataSource();
		return druidDataSource;
	}
	
	 /**
     * 注册后台界面的Servlet bean, 用于显示后台界面
     * @return
     */
    @Bean
    public ServletRegistrationBean<StatViewServlet> druidStatViewServlet()
    {
    	// 创建StatViewServlet, 映射到/druid/路径下
        ServletRegistrationBean<StatViewServlet> servletRegistrationBean = new ServletRegistrationBean<StatViewServlet>(new StatViewServlet(), "/druid/*");
        //添加初始化参数:initParams
        //白名单:
        servletRegistrationBean.addInitParameter("allow","127.0.0.1");
        //IP黑名单 (存在共同时,deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.
        servletRegistrationBean.addInitParameter("deny","192.168.1.73");
        //登录查看信息的账号密码.
        servletRegistrationBean.addInitParameter("loginUsername","admin");
        servletRegistrationBean.addInitParameter("loginPassword","123456");
        //是否能够重置数据.
        servletRegistrationBean.addInitParameter("resetEnable","false");
        return servletRegistrationBean;
    }
    
    /**
     * 监听获取应用的数据,Filter用于收集数据, Servlet用于展现数据
     * @return
     */
    @Bean
    public FilterRegistrationBean<WebStatFilter> druidStatFilter()
    {
        FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<WebStatFilter>(new WebStatFilter());
        //添加过滤规则.
        filterRegistrationBean.addUrlPatterns("/*");
        //添加不需要忽略的格式信息.
        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }

注:@ConfigurationProperties注解可能提示需要添加依赖,添加即可(如果没添加的话)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

启动项目发现数据源已改变为druid:

然后访问后台监控页面:http://localhost:8083/druid/

输入刚才配置的用户名密码即可看到监控后台

 

                ---------------------------------------------欢迎关注公众号(生活不止有代码)-------------------------------------------------------

                                                                      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值