首页 > 其他分享 >spring配置数据源

spring配置数据源

时间:2024-09-05 11:05:20浏览次数:10  
标签:数据源 配置 druid alibaba spring com

1、配置druid连接池

pom引入

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

spring-context配置

    <!-- druid数据库连接池 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">  
         <!-- 数据库基本信息配置 -->
         <property name="url" value="${druid_url}" />  
         <property name="username" value="${druid_username}" />  
         <property name="password" value="${druid_password}" />
         <property name="driverClassName" value="${druid_driver}" />  
         <property name="filters" value="${filters}" />  
            <!-- 最大并发连接数 -->
         <property name="maxActive" value="${maxActive}" />
         <!-- 初始化连接数量 -->
         <property name="initialSize" value="${initialSize}" />
         <!-- 配置获取连接等待超时的时间 -->
         <property name="maxWait" value="${maxWait}" />
         <!-- 最小空闲连接数 -->
         <property name="minIdle" value="${minIdle}" />  
            <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
         <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" />
         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
         <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" />  
         <property name="validationQuery" value="${validationQuery}" />  
         <property name="testWhileIdle" value="${testWhileIdle}" />  
         <property name="testOnBorrow" value="${testOnBorrow}" />  
         <property name="testOnReturn" value="${testOnReturn}" />  
         <property name="maxOpenPreparedStatements" value="${maxOpenPreparedStatements}" />
         <!-- 打开removeAbandoned功能 -->
         <property name="removeAbandoned" value="${removeAbandoned}" />
         <!-- 1800秒,也就是30分钟 -->
         <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" />
         <!-- 关闭abanded连接时输出错误日志 -->   
         <property name="logAbandoned" value="${logAbandoned}" />
    </bean>
    
    <bean id="logFilter" class="com.alibaba.druid.filter.logging.Slf4jLogFilter" > 
        <property name="statementExecutableSqlLogEnable" value="true" />
    </bean>

web.xml配置

    <!-- 可以使用Web应用、URI监控、Session监控等功能  -->
    <filter>
        <filter-name>DruidWebStatFilter</filter-name>
        <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
        <init-param>
            <param-name>exclusions</param-name>
            <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
        </init-param>
        <init-param>
               <param-name>profileEnable</param-name>
               <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>resetEnable</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>principalCookieName</param-name>
            <param-value>USER_COOKIE</param-value>
        </init-param>
        <init-param>
            <param-name>principalSessionName</param-name>
            <param-value>USER_SESSION</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>DruidWebStatFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <!-- 查看内置监控页面,路径是/druid/index.html -->
    <servlet>
        <description>配置好用于查看内置监控页面,路径是/druid/index.html</description>
        <servlet-name>DruidStatView</servlet-name>
        <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
        <!-- 可选项  登陆的用户名和密码 -->  
        <init-param>  
            <param-name>loginUsername</param-name>
            <param-value>druid</param-value>
        </init-param>
        <init-param>
            <param-name>loginPassword</param-name>
            <param-value>druid</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>DruidStatView</servlet-name>
        <url-pattern>/druid/*</url-pattern>
    </servlet-mapping>

 

2、配置HikariCP连接池

pom引入

        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>4.0.3</version>
        </dependency>

spring-context配置

    <!-- 配置数据源 -->
     <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
        <property name="driverClassName" value="${db_driver}" />
        <property name="jdbcUrl" value="${db_url}" />
        <property name="username" value="${db_username}" />
        <property name="password" value="${db_password}" />
 
        <!-- HikariCP 配置 -->
        <property name="maximumPoolSize" value="10" />
        <property name="minimumIdle" value="5" />
        <property name="idleTimeout" value="300000" />
        <property name="maxLifetime" value="1800000" />
        <property name="connectionTimeout" value="30000" />
        <property name="validationTimeout" value="5000" />
        <property name="leakDetectionThreshold" value="0" />
    </bean>

 

标签:数据源,配置,druid,alibaba,spring,com
From: https://www.cnblogs.com/jinzhiming/p/18397971

相关文章

  • 使用GDB调试(上篇:配置、分析core文件)
    在Linux系统中配置生成用于GDB分析的coredump(核心转储)文件,可以按照以下步骤进行:步骤1:核心转储使能设置首先,你需要确认系统的核心转储设置是否符合要求。可以通过以下命令检查当前设置:bashCopyCodeulimit-c1.临时配置这个命令会显示核心转储文件的最大......
  • 课题分享:校园闲置物品租售系统,基于java+springboot+mysql
      一、前言介绍        传统的校园闲置物品租售系统方式是在线下实体进行的,用户需要到线下进行实际的了解传统信息,而随着信息不断的普及,越来越多的校园商家也开始出于各种各样的理由而热衷网上发展,传统的线下模式已经无法满足人们的需求了。        互联......
  • 课题分享:校园闲置物品交易网站,基于java+springboot+mysql
      一、前言介绍        计算机的普及和互联网时代的到来使信息的发布和传播更加方便快捷。用户可以通过计算机上的浏览器访问多个应用系统,从中获取一些可以满足用户需求的管理系统。网站系统有时更像是一个大型“展示平台”,用户可以选择所需的信息进入系统查看首页......
  • 课题分享:外卖点餐系统,基于java+springboot+mysql
      一、前言介绍        计算机的普及和互联网时代的到来使信息的发布和传播更加方便快捷。人们可以通过计算机上的浏览器访问多个应用系统,从中获取一些可以满足用户生活需求的管理系统。网站系统有时更像是一个大型“展示平台”,人们可以选择所需的信息进行在线下单......
  • 基于Spring的规则引擎EasyRule应用
    基于Spring的规则引擎EasyRule应用   本文介绍了easyRule规则引擎的应用场景及相比较ifelse的优势,介绍了easyRule的关键概念,以及在spring的实战应用。一、应用场景与优势           规则引擎类似于实现多个ifelse的功能,能够增强代码可读性。EasyRule指定......
  • 安全:modsecurity配置
    一,日志在哪里查看?#--Auditlogconfiguration-------------------------------------------------#Logthetransactionsthataremarkedbyarule,aswellasthosethat#triggeraservererror(determinedbya5xxor4xx,excluding404,#levelresponsesta......
  • 网站提示“PHP配置错误:如内存限制、执行时间限制等问题”错误如何解决
    当您遇到“PHP配置错误”,如内存限制、执行时间限制等问题时,这通常意味着您的PHP脚本超过了PHP.ini配置文件中设定的某些限制。这类问题可能导致脚本执行中断或产生错误。以下是一些解决这些问题的方法:常见的PHP配置错误内存限制(memory_limit):当PHP脚本消耗的内存超过memory_l......
  • 网站提示“Apache/Nginx配置错误:如虚拟主机配置错误、重写规则错误等”错误如何解决
    当您遇到“Apache/Nginx配置错误”,如虚拟主机配置错误、重写规则错误等问题时,这通常意味着您的Web服务器配置文件中存在一些问题,导致服务无法正常工作或某些功能无法正常使用。以下是一些解决这类问题的方法:Apache配置错误1.检查虚拟主机配置定位配置文件:Apache的虚拟主机......
  • MySQL配置文件my.cnf与my.ini的区别
    MySQL配置文件my.cnf与my.ini的区别+目录一、my.cnf与my.ini二、my.cnf与my.ini的路径2.1默认路径2.2查找my.cnf路径2.2.1、命令行查找配置文件2.2.2、多个my.cnf配置文件2.2.3 my.cnf不存在怎么办一、my.cnf与my.iniwin系统,MySQL配置文件为my.ini其他系统(Ubuntu、CentOS......
  • 「Java开发指南」如何用MyEclipse搭建Adobe和Spring Flex?(一)
    本教程将引导您完成AdobeFlex和Spring-Flex软件组件的生成,可以生成一个随时可运行的SpringFlex应用程序,该应用程序为域模型实现了CRUD应用程序模式。在本教程中,您将学习如何:从数据库表搭建到现有项目设置关系获取类型更新Flex用户界面MyEclipsev2024.1离线版下载MyEclip......