Druid数据库连接池

news2024/10/6 14:32:35
spring:
  datasource:
    username: root
    password: 19990802
    url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
#   type可以指定数据源类型
    #Spring Boot 默认是不注入这些属性值的,需要自己绑定
    #druid 数据源专有配置

    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true

    #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
    #如果允许时报错  java.lang.ClassNotFoundException: org.apache.log4j.Priority
    #则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500



package com.cheng.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
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 javax.sql.DataSource;
import java.util.HashMap;

@Configuration
public class DruidConfig {

    @Bean
    @ConfigurationProperties(prefix ="spring.datasource")//和配置文件绑定
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }
    //获取后台监控
    @Bean
    //由于 SpringBoot 默认是以 jar 包的方式启动嵌入式的 Servlet 容器来启动 SpringBoot 的 web 应用,没有 web.xml 文件。所以想用使用 Servlet 功能,就必须要借用 Spring Boot 提供的 ServletRegistrationBean 接口。
    public ServletRegistrationBean servletRegistration(){
        ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*")   //StatViewServlet用于展示Druid的统计信息
            
        //设置后台登录的账户和密码
        HashMap<String, String> initParameters = new HashMap<>();

        //增加配置 登录的key是固定的
        initParameters.put("loginUsername","admin");
        initParameters.put("loginPassword","123456");

        //设置谁可以访问
        initParameters.put("allow","");//任何人都可以访问

        //设置初始化参数
        bean.setInitParameters(initParameters);

        return bean;
    }
}

 启动SpringBoot测试,访问http://localhost:8080/druid

@Bean
public FilterRegistrationBean webStartFilter(){
    FilterRegistrationBean bean = new FilterRegistrationBean();
    bean.setFilter(new WebStatFilter());

    //可以过滤的请求
    HashMap<String, String> initParameters = new HashMap<>();

    //排除一些不必要的url
    initParameters.put("exclusions","*.js,*.css,/druid/*");
    
    bean.setInitParameters(initParameters);//设置初始化参数
    return bean;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++设计模式之迭代器模式】分析及示例

简介 迭代器模式是一种行为型设计模式&#xff0c;它提供了一种顺序访问聚合对象元素的方法&#xff0c;而又不需要暴露聚合对象的内部结构。迭代器模式通过将遍历算法封装在迭代器对象中&#xff0c;可以使得遍历过程更简洁、灵活&#xff0c;并且符合开闭原则。 描述 迭代…

有哪些靠谱的程序员兼职平台?

随着时代需求的增长和程序员人才市场的日益饱和&#xff0c;程序员接私活已经不再是一个新鲜的话题了。不得不说&#xff0c;靠接单赚钱是真的爽&#xff0c;感觉会比正经工资收入更奇妙。 但是&#xff0c;从接单数量、质量&#xff0c;到薪资多少&#xff0c;再到时间安排等…

量化交易是什么意思,量化到底是怎么赚钱的?

能直连交易所&#xff0c;获取完整、实时、准确的数据。必须有交易接口&#xff0c;根据策略指令&#xff0c;实现下单撤单&#xff0c;自动交易&#xff0c;获取账户资金和持仓。渠道要安全正规&#xff0c;不通过第三方中转。有了这几点保障才能安全地开始量化交易 在这个金…

笔试强训Day14Day15

T1&#xff1a;幸运的袋子 链接&#xff1a;幸运的袋子__牛客网 (nowcoder.com) 题目描述&#xff1a; 一个袋子里面有n个球&#xff0c;每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。 例如&…

socket简介

套接字&#xff08;Socket&#xff09;实质上就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端&#xff0c;为应用层进程利网络协议交换数据提供了相应机制。套接字出于承上启下的作用&#xff0c;向上连接应用进程&#xf…

【CVE-2023-35843】NocoDB 任意文件读取漏洞

一、漏洞描述 NocoDB 是 Airtable 的开源替代方案&#xff0c;可以“一键”将 MySQL、PostgreSQL、SQL Server、SQLite 和 MariaDB 转换为智能电子表格。此软件存在任意文件读取漏洞。 二、影响范围 NocoDB<0.106.1 三、网络空间搜索引擎搜索 fofa查询 icon_hash"-…

Spring Boot 常用注解大全:每个程序员必备

文章目录 1. SpringBootApplication2. RestController 和 RequestMapping3. Autowired4. Service、Repository 和 Component5. Configuration6. Value7. Qualifier8. ConditionalOnProperty9. Async10. Scheduled11. EnableCaching12. PathVariable 和 RequestParam13. Request…

网络安全_黑客(自学)

想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01;&#xff01;&#xff01; 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队…

代理IP采集数据:挖掘洞察力的关键工具

在当今数字化时代&#xff0c;数据被视为珍贵的资源&#xff0c;对于企业和组织来说&#xff0c;获取准确、有价值的数据是至关重要的。在数据采集的过程中&#xff0c;代理IP&#xff08;Internet Protocol&#xff09;发挥着关键的作用。本文将介绍代理IP在数据采集中的应用&…

大数据之巅:深入分析数据湖架构的优势

文章目录 什么是数据湖&#xff1f;数据湖的优势1. 弹性扩展性2. 多样化的数据3. 原始数据保存4. 成本效益5. 灵活性和创新6. 基于云的部署 数据湖的挑战1. 数据治理2. 查询性能3. 安全性4. 数据发现 结论 &#x1f389;欢迎来到AIGC人工智能专栏~大数据之巅&#xff1a;深入分…

[补题记录] Atcoder Beginner Contest 298(E)

URL&#xff1a;https://atcoder.jp/contests/abc298 目录 E Problem/题意 Thought/思路 Code/代码 E Problem/题意 A、B 轮流投色子&#xff0c;A 投出 [1, P] 点数的概率相等&#xff0c;B投出 [1, Q] 点数的概率相等。 现有 N 个点&#xff0c;初始时&#xff0c;A 位…

docker部署Vaultwarden密码共享管理系统

Vaultwarden是一个开源的密码管理器&#xff0c;它是Bitwarden密码管理器的自托管版本。它提供了类似于Bitwarden的功能&#xff0c;允许用户安全地存储和管理密码、敏感数据和身份信息。 Vaultwarden的主要特点包括&#xff1a; 1. 安全的数据存储&#xff1a;Vaultwarden使…

C++递归函数

在本文中&#xff0c;您将学习创建递归函数。调用自身的函数。 调用自身的函数称为递归函数。并且&#xff0c;这种技术称为递归。 递归在C 中如何工作&#xff1f; void recurse() {... .. ...recurse();... .. ... }int main() {... .. ...recurse();... .. ... } 下图显…

在模拟器上安装magisk实现Charles抓https包(一)

本机环境&#xff1a;win7 64位&#xff0c;Python3.8.10&#xff0c;逍遥模拟器版本9.0.6&#xff0c;安卓版本9&#xff08;手机里的设置-系统-关于平板电脑-Android版本&#xff09;。 首先下载magisk&#xff0c;下载地址为Releases topjohnwu/Magisk GitHub&#xff0c…

Combination Lock

题目描述 新学期开学&#xff0c;您又回到了学校。您需要记住如何操作储物柜上的组合锁。一个组合锁的常见设计如图 1 所示。组合锁有一个圆形刻度表盘&#xff0c;在表盘上&#xff0c;有 40 个编号为从 0 至 39 的刻度&#xff0c;正上方有一个刻度指针。一个组合由这些数字…

ggkegg | 用这个神包玩转kegg数据库吧!~(一)

1写在前面 好久没更了&#xff0c;实在是太忙了&#xff0c;值班真的是根本不不睡觉啊&#xff0c;一忙一整天&#xff0c;忙到怀疑人生。&#x1f62d; 最近看到比较&#x1f525;的就是ggkegg包&#xff0c;感觉使用起来还是有一定难度的。&#x1fae0; 和大家分享一下使用教…

波浪input输入框文字边框动画

一个input输入框的小动画,大家可以按需引入和修改 input的动画表现为,文字提示波浪动画 效果图如下 源码如下 tips: 有不懂的可以在评论区问博主 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name&q…

mac有些软件无法删除,CleanMyMac X 4.14.3轻松帮你解决

作为Mac用户&#xff0c;你会发现mac有些软件无法删除&#xff0c;这会导致不必要的空间浪费&#xff0c;也可能会干扰你的系统稳定性。但是不用担心&#xff0c;小编会告诉你遇到这种情况应该怎么办&#xff1f; mac有些软件无法删除 首先&#xff0c;让我们一起探究一下背后…

轻量级MobileSAM:比FastSAM快4倍,处理一张图像仅需10ms(附源代码)

论文地址&#xff1a;https://arxiv.org/pdf/2306.14289.pdf 代码地址&#xff1a;https://github.com/ChaoningZhang/MobileSAM 一、概要简介 SAM是一种prompt-guided的视觉基础模型&#xff0c;用于从其背景中剪切出感兴趣的对象。自Meta研究团队发布SA项目以来&#xff0c…

​孤网双机并联逆变器下垂控制策略(包括仿真模型,功率计算模块、下垂控制模块、电压电流双环控制模块​)(Simulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…