首页 > 其他分享 >整合druid数据源

整合druid数据源

时间:2024-05-16 15:08:48浏览次数:23  
标签:数据源 druid bean 整合 new initParams true

  1. Druid是阿里巴巴开源的一个数据源,主要用于java数据库连接池,相比spring推荐的DBCP和hibernate推荐的C3P0、Proxool数据库连接池,Druid在市场上占有绝对的优势,Druid数据源由于有强大的监控特性、可拓展性等特点。

  2. 使用

    • 导入依赖
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>druid-spring-boot-starter</artifactId>
    	<version>xxx</version>
    </dependency>
    
    • 配置yml文件
    spring:
      datasource:
    
        type: com.alibaba.druid.pool.DruidDataSource #引入druid数据源
        #数据源基本信息,也可放在druid下	
        url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
        username: root
        password: 123456
        driver-class-name: com.mysql.cj.jdbc.Driver
    
        druid:
          #SpringBoot因为默认是hikari数据源所以对于其他数据源默认是不注入这些属性的,需要手动配置
          #druid数据源专有配置
          initialSize: 5
          minIdle: 5
          maxActive: 20
          maxWait: 600000
          # 主要配置以上几个即可
          timeBetweenEvictionRunsMillis: 600000
          minEvictableIdleTimeMillis: 300000
          validationQuery: SELECT 1 FROM DUAL
          testWhileIdle: true
          testOnBorrow: false
          testOnReturn: false
          poolPreparedStatements: true
    
          #配置监控统计拦截的filters:stat:监控统计、self4j(使用log4j的记得导入log4j的依赖):日志记录、wall:防御sql注入 此处配置不能遗漏服务sql监控台不能监控sql
    
          filter:
            slf4j:
              enabled: true
            stat:
              enabled: true
              merge-sql: true
              slow-sql-millis: 5000
            wall:
              enabled: true
          #配置stat-view-servlet
          stat-view-servlet:
            enabled: true
            login-username: admin
            login-password: 123456
            reset-enable: false
          #配置web-stat-filter
          web-stat-filter:
            enabled: true
    
    • 创建DruidConfig
    @Configuration
    public class DruidConfig {
    
        @Bean
        @ConfigurationProperties(prefix = "spring.datasource")
        public DataSource getMyDruidDataSource(){
            return new DruidDataSource();
        }
    
        //配置Druid的监控
        //1.配置一个管理后台的Servlet
        @Bean
        public ServletRegistrationBean statViewServlet(){
            // 记得加上"/druid/*",否则在进行登录页面的重定向过多而无法访问的问题(记得在Google浏览器才会报这个错)
            ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
            Map<String,String> initParams = new HashMap<>();
    
            initParams.put("loginUsername","admin");
            initParams.put("loginPassword","123456");
            //默认是允许所有访问
            //initParams.put("allow","");
            //initParams.put("deny","192.168.31.30");
            bean.setInitParameters(initParams);
            return bean;
        }
        //2.配置一个web监控的filter
        @Bean
        public FilterRegistrationBean webStatFilter(){
            FilterRegistrationBean bean = new FilterRegistrationBean();
            bean.setFilter(new WebStatFilter());
    
            Map<String,String> initParams = new HashMap<>();
            //配置拦截时需要排除的请求
            initParams.put("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
            bean.setInitParameters(initParams);
    
            bean.setUrlPatterns(Arrays.asList("/*"));
    
            return bean;
    
        }
    }
    

标签:数据源,druid,bean,整合,new,initParams,true
From: https://www.cnblogs.com/hytip/p/18195994

相关文章

  • Dynamic-Datasource动态数据源
    1、添加请求对应的数据源标签DynamicDataSourceContextHolder.push(ds);2、添加数据源  3、动态添加数据源privateDynamicRoutingDataSourcedataSource;privateDefaultDataSourceCreatordataSourceCreator;//创建数据源DataSourcePropertydataSourceProperty......
  • 带日期的整合(5.12)
    决定整合一下堆一块太乱了之前的就不搬了以后写了放在这里看的人少的好处就是可以更新发布时间就像粉丝少的主播更容易看到你的留言一样hhh5.75.115.125.13......
  • spring整合mybatis
    整合步骤:首先将mybatis-config.xml环境的配置:数据源、驱动、url、username、password…这些基础配置移交给Spring的核心配置文件application.xml文件中!创建bean对象dataSource顶替Resource。再通过dataSource对象,创建bean对象SqlSessionFactory,这时候SqlSessionFactory工......
  • mybatisPlus多数据源的使用&使用 lambdaQuery 导致多数据源失效
    依赖<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.2</version></dependency>配置文件:spr......
  • 整合Spring Cloud + Nacos(服务注册与服务发现) + OpenFeign
    一、事前准备1、本文章不包含Nacos的安装教程,请参考其他文章安装并启动Nacos2、创建一个SpringBoot项目先创建一个简单的SpringBoot项目,引入普通项目中需要用到的相关依赖<dependencies><!--web--><dependency><groupId>org.springframework.boot</groupId......
  • Linksys MAX-STREAM AC2600 / Linksys EA8100 固件资源整合分享
    注意:这款路由默认地址为192.168.10.1初始化时选手动安装!!!官方固件https://www.linksys.com/support-article?articleNum=49022升级教程:https://linksys-sh.com/home-ea8100/firmware-update-ea8100(适用于官方固件和Openwrt固件)转存V1FirmwareforStarHub(StarHub......
  • SpringBoot整合Mybatis时mapper文件和xml文件的位置
    xml文件放在resources下看下我的项目目录2.由于放在resurces下就无法扫描到xml文件,所以就需要在配置文件配置--mapper文件位置mybatis.mapper-locations=classpath:mapper/*.xml或mybatis.mapper-locations=classpath:/mapper/*.xmlxml和mapper文件放在一起我的项目......
  • 实时行情数据源接口websocket接入方法
    ​支持如下产品对接:外汇、国际期货、国内期货、国际金银、数字货币、股指期货、美股、印度股、港股、台股、A股产品代码获取地址:http://39.107.99.235:1008/market/market.php产品代码:比特币btcusdt以太坊ethusdt恒指期货HSI德指期货DAX英镑美元fx_sgbpusd欧......
  • 在Biwen.QuickApi中整合一个极简的发布订阅(事件总线)
    闲来无聊在我的Biwen.QuickApi中实现一下极简的事件总线,其实代码还是蛮简单的,对于初学者可能有些帮助就贴出来,有什么不足的地方也欢迎板砖交流~首先定义一个事件约定的空接口publicinterfaceIEvent{}然后定义事件订阅者接口publicinterfaceIEventSubscriber<T>w......
  • springboot整合mybatis自动生成框架
    1、添加自动生成配置在根目录下创建:mybatis-generate.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN""http://mybat......