Spring整合Druid

2021-04-16 01:29

阅读:602

标签:使用   data   数据库连接   pom   wait   基本   数据库密码   分析   需要   

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

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

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

  • SQLParser 

Druid功能

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

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

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

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

扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。 

 

整合过程如下:

pom.xml

dependency>
    groupId>com.alibabagroupId>
    artifactId>druidartifactId>
    version>1.1.23version>
dependency>
dependency>
    groupId>mysqlgroupId>
    artifactId>mysql-connector-javaartifactId>
    version>5.1.49version>
dependency>

jdbc.propoties(配置数据库连接)

#JDBC
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/myshop
jdbc.username=root
jdbc.password=root
#JDBC Pool
jdbc.pool.init=1
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20
#JDBC Test
jdbc.testSql=select ‘x‘from DUAL

Spring 集成 Druid

新建spring-context-druid.xml

xml version="1.0" encoding="UTF-8"?>
beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd">

    
    context:property-placeholder  ignore-unresolvable="true" location="classpath:myshop.properties"/>
    
    bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        
        property name="driverClassName" value="${jdbc.driverClass}"/>
        
        property name="url" value="${jdbc.url}"/>
        property name="username" value="${jdbc.username}"/>
        property name="password" value="${jdbc.password}"/>
        
        property name="initialSize" value="${jdbc.pool.init}"/>
        property name="minIdle" value="${jdbc.pool.minIdle}"/>
        property name="maxActive" value="${jdbc.pool.maxActive}"/>
        
        property name="maxWait" value="60000"/>
        
        property name="timeBetweenEvictionRunsMillis" value="60000"/>
        
        property name="minEvictableIdleTimeMillis" value="300000"/>
        property name="validationQuery" value="${jdbc.testSql}"/>
        property name="testWhileIdle" value="true"/>
        property name="testOnBorrow" value="false"/>
        property name="testOnReturn" value="false"/>
       
        property name="filters" value="stat"/>
    bean>
beans>

配置Druid监控中心

在web.xml中配置一个Servlet,即可获取监控信息 。

servlet>
        servlet-name>DruidStatViewservlet-name>
        servlet-class>com.alibaba.druid.support.http.StatViewServletservlet-class>
    servlet>
    servlet-mapping>
        servlet-name>DruidStatViewservlet-name>
        url-pattern>/druid/*url-pattern>
    servlet-mapping>

 

Spring整合Druid

标签:使用   data   数据库连接   pom   wait   基本   数据库密码   分析   需要   

原文地址:https://www.cnblogs.com/2016-zck/p/13324569.html


评论


亲,登录后才可以留言!