一、配置maven
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid-version}</version>
</dependency>
二、怎么打开Druid的监控统计功能
1. Druid的监控统计功能是通过filter-chain扩展实现,如果你要打开监控统计功能,配置StatFilter.
1).别名配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
... ...
<property name="filters" value="stat" />
</bean>
2).组合配置 StatFilter和Log4j2Filter组合使用。
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="filters" value="stat,log4j2" />
</bean>
3).慢sql记录 配置
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
<!-- SQL合并配置 --> <property name="mergeSql" value="true" /> <!-- 慢SQL执行时间 设定 --> <property name="slowSqlMillis" value="${jdbc.slowSqlMillis}" /> <!-- 慢SQL记录输出 --> <property name="logSlowSql" value="true" /> </bean> <!-- 配置输出日志 --> <bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4j2Filter"> <property name="resultSetLogEnabled" value="false" /> <!--输出可执行的SQL--> <property name="statementExecutableSqlLogEnable" value="true" /> </bean>
4).通过proxyFilters属性配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="proxyFilters"> <list> <ref bean="stat-filter" /> <ref bean="log-filter" /> </list> </property>
</bean>
三、怎样使用Druid的内置监控页面
1、配置web.xml,StatViewServlet是一个标准的javax.servlet.http.HttpServlet,需要配置在你web应用中的WEB-INF/web.xml中。
<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>
根据配置中的url-pattern来访问内置监控页面,如果是上面的配置,内置监控页面的首页是/druid/index.html 中台前置集成 例如:http://192.168.2.134:8006/druid/login.html
2、配置监控页面访问密码 需要配置Servlet的 loginUsername
和 loginPassword
这两个初始参数。
<!-- 配置 Druid 监控信息显示页面 -->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
<init-param>
<!-- 允许清空统计数据 -->
<param-name>resetEnable</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<!-- 用户名 -->
<param-name>loginUsername</param-name>
<param-value>
eloancn</param-value>
</init-param>
<init-param>
<!-- 密码 -->
<param-name>loginPassword</param-name>
<param-value>eloancn888</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
四、可以按需要配置spring 和web 的关联配置
1. 以spring 简单示例
<!--配置_Druid和Spring关联监控配置 start--> <bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"/> <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype"> <property name="patterns"> <list> <value>com.eloancn.center.front.mapper.*</value> </list> </property> </bean> <aop:config proxy-target-class="true"> <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut"/> </aop:config> <!--配置_Druid和Spring关联监控配置 end-->