(1)首先添加maven依赖,下载jar包。
pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
(2)然后修改数据源配置
修改: <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init"
destroy-method="close">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="filters" value="stat" />
</bean>
1、运行后
一直报错:java.sql.SQLException: The SQL statement must not be null or empty.
找了各种,没有人遇到过这个问题。更换成
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close"> 运行正常,能查出数据。
最后感觉是数据库jar包问题,之前用的是sqlserver 的这个jar包:
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2</version>
</dependency>
driver=net.sourceforge.jtds.jdbc.Driver
url=jdbc:jtds:sqlserver://192.168.5.232:1433/Learning;useLOBs=false
username=sa
password=123456
更换为:以下jar,和修改相应配置文件后
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://192.168.5.232:1433;DatabaseName=Learning
username=sa
password=123456
运行正常。
2、访问 http://127.0.0.1:8081/Learning/druid/index.html
第一次sql监控内容为空。经查看,在database中未配置:<property name="filters" value="stat" />
注意:<property name="filters" value="stat" />属性,不然无法显示SQL检测信息。
3、Web.xml增加如下配置:
DruidWebStatFilter。如果没有配置filter信息。session监控,web监控等不可用。没有配置
<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>/static/*,*.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>
4、添加SQL防火墙监控
在数据源配置中,增加以下属性
<property name="filters" value="stat,wall"/>
5、添加
spring方法调用监控
<bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"></bean>
<bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
<property name="patterns">
<list>
<value>com.xxx.*</value>
<value>com.xxx1.*</value>
</list>
</property>
</bean>
<aop:config>
<aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut" />
</aop:config>
启动程序时控制台报错:java.lang.NoClassDefFoundError: org/aspectj/util/PartialOrder$PartialComparable.
报错原因:缺少jar包,aspectjweaver-1.5.2.jar
添加maven 依赖:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.1</version>
</dependency>