当前位置: 首页 > news >正文

深圳龙霸网站建设物三网站制作公司备案

深圳龙霸网站建设物三,网站制作公司备案,微信商户服务商平台,东营企业网站制作SpringBoot使用druid 一、前言二、配置1、pom依赖2、配置文件yml3、配置类 一、前言 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C…

SpringBoot使用druid

  • 一、前言
  • 二、配置
    • 1、pom依赖
    • 2、配置文件yml
    • 3、配置类


一、前言

Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。

Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。

Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。

Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。

Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最优秀的数据源,我们来重点介绍 Spring Boot 如何集成 Druid 数据源,如何实现数据库监控。

在这里插入图片描述
在这里插入图片描述

二、配置

1、pom依赖

        <!--引入Druid数据源--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.12</version></dependency><!--日志依赖--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

2、配置文件yml

#数据库配置
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/library?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&allowMultiQueries=trueusername: rootpassword: 123456# 连接池类型druidtype: com.alibaba.druid.pool.DruidDataSource#Spring Boot 默认是不注入这些属性值的,需要自己绑定#druid 数据源专有配置# 配置Druid的其他参数,以下配置必须增加一个配置文件才能有效# 初始化大小,最小,最大initialSize: 5minIdle: 5maxActive: 20# 获取连接等待超时的时间maxWait: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙filters: stat, wall# 打开PSCache,并且指定每个连接上PSCache的大小maxPoolPreparedStatementPerConnectionSize: 20# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500# 合并多个DruidDataSource的监控数据useGlobalDataSourceStat: true

3、配置类

第一段:
由于DruidDataSource需要使用上述的配置,在添加到容器中,就不能使用springboot自动生成,这时需要我们自己添加 DruidDataSource 组件到容器中,并绑定属性;

第二段:
Druid 数据源具有监控的功能,并提供了一个 web 界面方便用户查看,类似安装 路由器 时,人家也提供了一个默认的 web 页面。

所以第一步需要设置 Druid 的后台管理页面,比如 登录账号、密码 等;配置后台管理;

这里只是注册了一个servlet,同时表明/druid/* 这个请求会走到这个servlet,而druid内置了这个请求的接收,同时需要给这个请求添加用户密码等参数

第三段:
配置过滤请求,需要统计哪些sql的信息

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;/*** 表示一个配置文件*/
@Configuration
public class DruidConfig {/*** 加入到Spring容器中,并扫描spring.datasource前缀的配置** @return*/@Bean@ConfigurationProperties(prefix = "spring.datasource")public DataSource druid() {return new DruidDataSource();}//配置 Druid 监控管理后台的Servlet;//内置 Servlet 容器时没有web.xml文件,所以使用 Spring Boot 的注册 Servlet 方式@Beanpublic ServletRegistrationBean a() {ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");Map<String, String> initParameters = new HashMap<>();initParameters.put("loginUsername", "admin");initParameters.put("loginPassword", "admin");bean.setInitParameters(initParameters);return bean;}//配置 Druid 监控 之  web 监控的 filter//WebStatFilter:用于配置Web和Druid数据源之间的管理关联监控统计@Beanpublic FilterRegistrationBean webStatFilter() {FilterRegistrationBean bean = new FilterRegistrationBean();bean.setFilter(new WebStatFilter());//exclusions:设置哪些请求进行过滤排除掉,从而不进行统计Map<String, String> initParams = new HashMap<>();initParams.put("exclusions", "*.js,*.css,/druid/*,/jdbc/*");bean.setInitParameters(initParams);//"/*" 表示过滤所有请求bean.setUrlPatterns(Arrays.asList("/*"));return bean;}
}

配置完毕后,我们可以选择访问 :http://localhost:8080/druid/login.html
在这里插入图片描述

http://www.yayakq.cn/news/376023/

相关文章:

  • 石家庄行业网站网站上如何放入地图
  • 网站做收录什么方法快嘉定网站设计制作公司
  • 海南网站建设网站开发推广平台有哪些技巧和方法
  • 花溪建设村镇银行官方网站wordpress 不同权限
  • 宁波网站建设兼职北京家装公司十大排名
  • 烟台网站建设给力臻动传媒无锡网站建设哪家好
  • 网站优化招商网站建设策划书附录
  • 合肥建站方案开个公司做购物网站
  • 贵阳快速建站模板网站建设推进会
  • 有什么好的网站做数学题吗网站服务器人多怎么挤进去
  • 医疗网站设计方案t天津建设工程信息网
  • 网站贸易表格怎么做电子商务网站建设期中
  • 网站为什么维护中做seo推广公司
  • 个人音乐网站程序购物网站后台设计
  • 猪八戒网做网站如何付款wordpress 重写 函数
  • 天津网站建设培训课件什么是前端开发和后端开发
  • 三点水网站建设合同最近的电脑培训班在哪里
  • 东莞哪家公司做网站好南川区 网站集约化建设方案
  • 网络营销型网站设计视频网站自己做服务器
  • 网站测评必须做成都犀牛网站建设
  • 百度做销售网站多少钱免费网站技术
  • 东莞网站建站推广两个彩票网站做赔付
  • 杭州网站建设官方蓝韵网络青岛网站空间
  • 云南网站制作公司北京百姓网免费发布信息
  • 小学生做电子小报的网站建设银行陕西分行网站
  • 上海网站建设公司哪家好沈阳网上注册公司流程
  • 网站三网合一案例wordpress如何实现收费会员制
  • 网站建设团队与分工益阳网站建设企业
  • 网上做视频赚钱的网站有哪些怎么用程序做网站
  • 明港网站建设公司自己的网站怎么优化