根据现在的所知情况,Druid 包括3方面功能,如有缺失,请大家指正

1.作为数据库连接池使用

<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close"><propertyname="driverClass"value="${jdbc.driverClass}"></property><propertyname=""value="${jdbc.}"></property><propertyname="url"value="${jdbc.url}"></property><propertyname="username"value="${jdbc.username}"></property><propertyname="password"value="${jdbc.password}"></property><!--连接池最大使用连接数--><propertyname="maxActive"value="${jdbc.max.active}"></property><!--初始化连接大小--><propertyname="initialSize"value="${jdbc.initial.size}"></property><!--获取连接最大等待时间--><propertyname="maxWait"value="${jdbc.max.wait}"></property><propertyname="minIdle"value="${jdbc.min.idle}"></property><!--自动清除无用连接--><propertyname="removeAbandoned"value="${jdbc.remove.abandoned}"></property><!--清除无用连接的等待时间--><propertyname="removeAbandonedTimeout"value="${jdbc.remove.abandoned.timeout}"></property><!--连接属性--><propertyname="connectionProperties"value="clientEncoding=UTF-8"></property><propertyname="testOnBorrow"value="${jdbc.testOnBorrow}"></property><propertyname="validationQuery"value="${jdbc.validation.query}"></property><propertyname="filters"value="stat"/><propertyname="proxyFilters"><list><refbean="wall-filter"/></list></property></bean><beanid="wall-filter"class="com.alibaba.druid.wall.WallFilter"><propertyname="config"ref="wall-config"/></bean><beanid="wall-config"class="com.alibaba.druid.wall.WallConfig"><propertyname="multiStatementAllow"value="true"/></bean><!--对数据源进行事务管理--><beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"p:dataSource-ref="dataSource"/>


2.提供sql执行log查询功能

配置web.xml,至此基本配置完成,可以查看内置监控页面了,路径是/druid/index.html

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


3.采集web-jdbc关联监控的数据

配置WebStatFilter,之后可以使用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>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>


修改Spring的配置文件

<beanid="druid-stat-interceptor"class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"></bean><beanid="druid-stat-pointcut"class="org.springframework.aop.support.JdkRegexpMethodPointcut"scope="prototype"><propertyname="patterns"><list><value>com.company.bussines.service.*</value><value>com.company.bussines.dao.*</value></list></property></bean><aop:configproxy-target-class="true"><aop:advisoradvice-ref="druid-stat-interceptor"pointcut-ref="druid-stat-pointcut"/></aop:config>