zoukankan      html  css  js  c++  java
  • Druid.jar包

    首先了解一下,什么是Druid.

      Druid是Java语言中最好的数据库连接池,它能够提供强大的监控和扩展功能。

      Druid是一个JDBC组件,它包括三部分:

     1)DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。

     2)DruidDataSource 高效可管理的数据库连接池。

     3)SQLParser

      Druid可以做什么呢,官网做了一下解释:

    1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。

    2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

    3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。

    4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

      接下来就开始我们的正题,Druid在SpringMVC中的配置与使用.

    ============================分割线================================

      1. 首先从 http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包,然后导到项目之中.

      2.配置ApplicationContext.xml

    < bean name = "transactionManager" class ="org.springframework.jdbc.datasource.DataSourceTransactionManager" >   

        < property name = "dataSource" ref = "dataSource" ></ property >

         </ bean >

        < bean id = "propertyConfigurer" class ="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" >  

           < property name = "locations" >  

               < list >  

                     < value > /WEB-INF/classes/dbconfig.properties </ value >  

                </ list >  

            </ property >  

        </ bean >

        <!-- 阿里 druid 数据库连接池 -->

        < bean id = "dataSource" class = "com.alibaba.druid.pool.DruidDataSource"destroy-method = "close" >  

             <!-- 数据库基本信息配置 -->

             < property name = "url" value = "${url}" />  

             < property name = "username" value = "${username}" />  

             < property name = "password" value = "${password}" />  

             < property name = "driverClassName" value = "${driverClassName}" />  

             < 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 >

    3.添加dbconfig.properties

    url:jdbc:mysql://60.205.106.190:3306/oasis_mom(你的项目的地址)

    driverClassName: com.MySQL.jdbc.Driver

    username: root(项目数据库名称)

    password: root(项目数据库密码)

    filters: stat

    maxActive: 20

    initialSize: 1

    maxWait: 60000

    minIdle: 10

    maxIdle: 15

    timeBetweenEvictionRunsMillis: 60000

    minEvictableIdleTimeMillis: 300000

    validationQuery: SELECT 'x'

    testWhileIdle: true

    testOnBorrow: false

    testOnReturn: false

    maxOpenPreparedStatements: 20

    removeAbandoned: true

    removeAbandonedTimeout: 1800

    logAbandoned: true

    4.配置web.xml

        <!-- 连接池 启用 Web 监控统计功能    start-->

        < 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 >

        </ filter >

        < filter-mapping >

           < filter-name > DruidWebStatFilter </ filter-name >

           < url-pattern > /* </ url-pattern >

        </ filter-mapping >

        < servlet >

           < servlet-name > DruidStatView </ servlet-name >

           < servlet-class > com.alibaba.druid.support.http.StatViewServlet </ servlet-class >

        </ servlet >

        < servlet-mapping >

           < servlet-name > DruidStatView </ servlet-name >

           < url-pattern > / druid /* </ url-pattern >

        </ servlet-mapping >

    <!-- 连接池 启用 Web 监控统计功能    end-->

    5.配置完毕,访问监控页面: http://ip:port/projectName/druid/index.html(http://test.cn/honghclient/druid/weburi.html)进行访问

  • 相关阅读:
    xls与csv文件的区别
    青音,经典爱情语录
    win7用户账户自动登录方法汇总
    How to using Procedure found Lead Blocker
    FTS(3) BSD 库函数手册 遍历文件夹(二)
    FTS(3) BSD 库函数手册 遍历文件夹(一)
    DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息
    About App Distribution 关于应用发布
    FTS(3) 遍历文件夹实例
    OpenCV 2.1.0 with Visual Studio 2008
  • 原文地址:https://www.cnblogs.com/mengmengi/p/10777619.html
Copyright © 2011-2022 走看看