首页 > 技术文章 > druid spring监控配置

lyh971134228 2017-05-04 18:35 原文

方法一:

<bean id="seckillServiceImpl" class="org.seckill.service.impl.SeckillServiceImpl" ></bean>
<!-- druid Spring 关联监控 : 切面-->
<bean id="druid-stat-interceptor"
class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">
</bean>

<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass" value="true" />
<property name="beanNames">
<list>
<!-- 这里配置需要拦截的bean id列表 -->
<value>seckillServiceImpl</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>druid-stat-interceptor</value>
</list>
</property>
</bean>
方法二:pointcut-ref="druid-stat-pointcut"在idea中报Cannot resolve Spring Pointcut 'druid-stat-pointcut' 不用管它
<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>org.seckill.service.*</value>
<value>org.seckill.dao.*</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 $ Partial

需要引入
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.3</version>
</dependency>
jar包
你要使用spring的aop,要么引入aspectj,要么cglib!除非你不使用spring的aop!当然,你也可以只用spring的其他特性,例如控制反转!aop不是只有spring有!其他框架也有!你可以上网查查,不过spring的aop已经很好了!

推荐阅读